General updates for the Test Environment chapter

Test Environment hasn't been touched in a while and needs a bit of a
refresh to reflect changes to our systems in recent years as well as
removing some OpenStackisms and a bit of rewording in places for
added clarity.

Change-Id: I69156ed7ef88d9584638d59825d44f982d0cf4b4
This commit is contained in:
Jeremy Stanley 2023-01-30 18:15:58 +00:00
parent f281c80e5c
commit 5e063d7f1d
1 changed files with 15 additions and 16 deletions

View File

@ -13,9 +13,8 @@ jobs.
Unprivileged Single Use VMs
===========================
All jobs currently run on these nodes. These are single use VMs
booted in OpenStack clouds. You should start here unless you know you
have a reason to use a privileged VM.
All jobs currently run on one or more of these nodes. These are single
use VMs booted in OpenStack clouds.
Each single use VM has these attributes which you can count on:
@ -33,22 +32,23 @@ Each single use VM has these attributes which you can count on:
* It is also possible that these addresses are on multiple network
interfaces.
* CPUs are all running x86-64.
* There is at least 8GB of system memory available.
* CPUs are all running x86-64 unless you explicitly choose an AArch64
(64-bit ARM) label or nodeset.
* There is at least 8GB of system memory available on default node
types, though we have limited availability of nodes with flavors
providing up to 32GB memory.
* There is at least 80GB of disk available. This disk may not all be
exposed in a single filesystem partition and so not all mounted at
/. Any additional disk can be partitioned, formatted and mounted
by the root user; though if you need this it is recommended to use
devstack-gate which takes care of it automatically and mounts the
extra space on /opt early in its setup phase.
by the root user.
To give you an idea of what this can look like most clouds just give
us an 80GB or bigger /. One cloud gives us a 40GB / and 80GB /opt.
Generally you will want to write large things to /opt to take
advantage of available disk.
* Swap is not guaranteed to be present. Some clouds give us swap and
others do not. Some tests (like devstack based tests) will create
swap either using a second disk device if available or by using a
file otherwise. Be aware you may need to create swap if you need it.
others do not. Some jobs will create swap either using a second
device if available or by using a file otherwise. Be aware you may
need add tasks to create swap within your job if you require it.
* Filesystems are ext4. If you need other filesystems you can create
them on files mounted via loop devices.
* Package mirrors and/or caches for PyPi, NPM, Ubuntu, Debian, Fedora
@ -78,8 +78,7 @@ Known Differences to Watch Out For
even within the same cloud region.
* Nested virt is not available in all clouds. And in clouds where it
is enabled we have observed a higher rate of crashed test VMs when
using it. As a result we enforce qemu when running devstack and
may further restrict the use of nested virt.
using it. As a result we discourage general use of nested virt.
* Some clouds give us multiple network interfaces, some only give
us one. In the case of multiple network interfaces some clouds
give all of them Internet routable addresses and some others do
@ -87,9 +86,9 @@ Known Differences to Watch Out For
* Geographic location is widely variable. We have instances all across
North America and in Europe. This may affect network performance
between instances and network resources geographically distant.
* Some network protocols may be blocked in some clouds. Specfically
we have had problems with GRE. You can rely on TCP, UDP, and ICMP
being functional on all of our clouds.
* Some Internet protocols may be blocked in some clouds. Specfically
we have had problems with GRE and multicast IP. You can rely on TCP,
UDP, and ICMP being functional on all of our clouds.
* Network interface MTU of 1500 is not guaranteed. Some clouds give
us smaller MTUs due to use of overlay networking. Test jobs
should check interface MTUs and use an appropriate value for the