Refactor the code used to determine the partition and disk where the
ESP resides. There were a few issues:
- Disks and partitions are of type 'block' which requires the use of
[ -b ] or [ -e ]; [ -f ] returns false for block devices.
- The use of lsblk -on pkname exposed a bug in util-linux where pkname
did not return a value.
This branch adds additional debug logging and safety checks for any
calculated value and fails on empty values. We replace use of lsblk
with use of sysfs to calculate the parent disk of the partition. Add
a vmtest to verify the path where we use efibootmgr to create an entry.
block-discover: detect additional "extended" partition types in MBR
Surprise! There are additional encoding values for "extended" partitions
in MBRs. Add the 3 additional values (0x5, 0x85, 0xC5) to the mapping
table and add unittest using provided probe data.
net/deps.py: detect openvswitch cfg and install openvswitch packages
Scan the provided network-config and if openvswitch keywords are
present then install the require openvswitch packages into the
target system.
- Enable both version detections, top-level openvswitch and as
renderer
- Also detect renderer values and install the required renderer
- Add vmtest to verify package is installed
vmtest: collection of vmtest related fixes to make things triple green
- Convert a number of fstab_expected values to
get_fstab_expected functions
- Handle raid partition lsblk type variance (md or part)
- Add logging to volspec calculation
- Handle lvm DM_NAME escaping by querying udev
- Fix "apt" error code which was result of rootfs too full on
bcache-ceph-nvme-simple Focal scenario
- Skip iscsi disk cleanup when using VMTEST_REUSE_TOPDIR=1
to rerun unittests over collected data
clear-holders: umap the parent mpath to wipe the underlying partitions
In some multipath scenarios access to the underlying partitions is
not possible without removing the parent multipath mapping. This can
only be done if all of the mpath partitions have been unmapped.
Detect when this is the case and remove the parent mpath mapping
as well. This fixes vmtest failures found with test_multipath.py