This has the same behaviour as apt_proxy, but allows developers to
override it globally without affecting other applications. apt_proxy
will continue to work, but CURTIN_VMTEST_APT_PROXY will be preferred if
it is present in the environment.
vmtests: add use of CURTIN_VMTEST_ prefixed envvars to image sync
Specifically, add the use of CURTIN_VMTEST_IMAGE_SRC_URL,
CURTIN_VMTEST_IMAGE_DIR, and CURTIN_VMTEST_IMAGE_SRC_KEYRING. Each of
these behaves exactly the same as its un-prefixed environment variable.
If both are present in the environment, the prefixed variable will be
preferred.
This change allows developers to set these globally in their shell,
without worrying about the generic names conflicting with environment
variables used by other applications. Use of the old environment
variable names is retained so existing users aren't broken.
(The CURTIN_VMTEST_ prefix matches that used for many of the other
environment variables used by the vmtests.)
Raising SkipTest in class definition breaks the test loader
resulting in tools/vmtest-sync-images failing. Remove skipTest
and leave the message as a comment.
vmtests: determine block name via dname when verifying volume groups
The LVM tests verify `pvs` output to check that a VG is composed of
the specified devices from the storage config. The current test
expected /dev/sda, /dev/sdb for certain VGs, however, sda/sdb kernel
names are not stable and sometimes we would fail to verify when the
order was swapped. Instead we now look up the dname, which is stable
to determine the kname of the specific disk at runtime and use that
to verify the VG is composed of the correct devices.
vmtest: add Centos66/Centos70 FromBionic release and re-add tests
Newer MAAS will use Bionic to deploy Centos and curtin until now
did not test this path. Critically, Centos66 has issues with ext4
features that are enabled by default in Bionic and newer, namely
'64bit' and 'metadata_csum'. These features break centos66 grub
probing which results in failed deployment, LP: #1775424.
Add additional Centos66/70 tests to verify installing from Bionic
is successful. For Centos66, we test the known workaround which is
to use 'ext3' as the root filesystem, and we introduce a test-case
which recreates the failure (test_simple.py:Centos66BionicTestSimple)
but leave it disabled by default.
block-discover: add cli/API for exporting existing storage to config
Curtin can now probe an existing system for block devices and convert that
information into a storage_config yaml document representing the devices,
partitions, filesystems, etc as they would be if created from scratch.
This cli and API depend upon probert for discovery and
curtin.storage_config.validate_config to generate valid configs.
Eoan images no longer contain 'route' and 'route6' from 'net-tools'
package. If the output is not present, rely on 'ip route show' and
'ip 6 route show' output instead.