~raharper/curtin:fix/skip-focal-bcache-tests

Last commit made on 2020-02-07
Get this branch:
git clone -b fix/skip-focal-bcache-tests https://git.launchpad.net/~raharper/curtin
Only Ryan Harper can upload to this branch. If you are Ryan Harper please log in for upload directions.

Branch merges

Branch information

Name:
fix/skip-focal-bcache-tests
Repository:
lp:~raharper/curtin

Recent commits

1c9742b... by Ryan Harper

Change baseclass name

b54b11e... by Ryan Harper

Skip only test_fstab for non-root bcache scenarios, skip NvmeBcache

14abe38... by Ryan Harper

vmtests: skip focal bcache tests due to kernel bug

14c0560... by Ryan Harper

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

29cfab3... by Ryan Harper

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

2a2bcf0... by Ryan Harper

vmtests: bump fixby date out and fix false positive when date passes

The fix for vlan is still pending, however we've observed a false
positive where vmtest would indicate that the test was passing when
it actually was not. This is because skip_by_date will run the
decorated function *after* the fixby date has passed. The
implementation was 'pass' which does pass but did not actually run
the test case.

Fix this by calling to the super class.

LP: #1855148

329335d... by Ryan Harper

vmtests: drop disco tests using a tool to automate the process

Remove disco tests, adding a new tool which can automate removal
of tests that match the release name.

50ffca4... by Ryan Harper

clear-holders: ensure we wipe device even if multipath enabled not not mp

On Ubuntu releases where multipath is enabled but not in-use some devices
would fail to be wiped due to logic bug. This was found in the
BcacheBasic test. Refactor this logic to ensure that we wipe either
the in-use multipath dm device or the block device value originally
supplied to the wipe function.

941c43f... by Ryan Harper

block_meta: use reliable fs_spec entries for block devices

Entries in /etc/fstab currently use UUID= in almost all cases. This
is not reliable in the face of LVM snapshots, multipath, and other
scenarios where multiple block devices may have the same UUID values.

Resolve this by following the recommendations in the Ubuntu Wiki[1]
where we will use specific udev persistent block paths which embed
a *device* uuid in the path (dm-uuid, md-uuid, etc). In addition
to modifying the fs_spec value we write, also include a comment
above each entry which includes a terse device path which may help
users recogize a disk where a UUID will not. This brings curtin
to parity with other Ubuntu installers which include:

 # /mnt was mounted on /dev/sdb1 during installation

LP: #1851899

b475db2... by Ryan Harper

multipath: handle removal of multipath partitions correctly

Curtin could handle multipath-partition removal if it was given
the device-mapper device (dm-x) however, if it was fed the
underying scsi device (e.g. sda2) this would fail when curtin
would try to clear the partition requesting exclusive access
which it could not obtain due to the device-mapper device.

This branch implements a kernel scsi device lookup to map
sdXN -> dm-N mapping which resolves the issue by allowing
curtin to wipe the dm-X device even if it has been
provided the sdXN device.

Additional Changes
 - Enable dirty_disk mode on multipath test to reproduce
   failure

LP: #1857042