Special care and handling are needed for creating swap files on top
of btrfs filesystems. Curtin will attempt to disable btrfs CoW
on the target file before attempting to fallocate/dd the file.
- Btrfs swapfile requires target kernel 5.0+, older kernels cannot use. https://btrfs.wiki.kernel.org/index.php/FAQ
- Query target fstype to check if we can proceed with swap file
btrfs requires newer kernel, xfs cannot use fallocate
- Update distro.parse_dpkg_version to handle additional formatting
including linux-image-generic, and versions with Epoch present.
- Adjust TestBasic,TestScsiBasic to add a swapfile to the /btrfs target
- Add the swap partition/file to TestBasic's fstab unittest
- Fix test_swaps_used to use fstab data instead of storage config
since file-based swaps are created via curtin 'swap' config not
storage-config.
- Add swap config key 'force', default is false
- Add curtin feature flag, BTRFS_SWAPFILE
multipath: handle multipath nvme name fields correctly
NVME Multipath devices do not have typical mpath names, instead they
include colons and whitespace. Handle this by adjusting the multipath
maps command output to single quote the name field like we do for the
other fields.
curtainer: mask the zfs-mount and zfs-share services
curtin depends on zfsutils-linux via probert-storage, but zfsutils-linux
can't be installed in an unprivileged container as it fails to start the
zfs-mount and zfs-share services as /dev/zfs is missing. We do not
actually need ZFS to work in the container, so the problem can be worked
around by masking the services before the package is installed.
tools/jenkins-runner: shuffle test-cases to randomize load
Enabling jenkins-runner to enumerate all of the tests to be
run and then run them through 'shuf' which will randomize
each test class for selection by the parallel threads of
execution. This will reduce the likelihood that we have
four executions of a Bcache or Raid or other heavy storage
which is what we get with current module level parallelism.
Add Trusty/UEFI/HWE-X vmtest, drop realpath add, drop shell code
The fix provided for addressing Trusty UEFI with HWE-X kernel is
not needed due to the refactor of the grub install code into python.
This branch:
- removes the added package
- creates a Trusty UEFI with HWE-X to match bug test scenario
- allow testclass to enable 'unsupported releases'
- remove helpers/install-grub
- remove install-grub code from helpers/common