~raharper/curtin:fix/vmtest-network-vlan-skip

Last commit made on 2020-02-04
Get this branch:
git clone -b fix/vmtest-network-vlan-skip 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/vmtest-network-vlan-skip
Repository:
lp:~raharper/curtin

Recent commits

c2a81ed... 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 implemention
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

a45a54c... by Ryan Harper

vmtests: skip Focal deploying Centos70 ScsiBasic

In Focal, there is a bug (#1859858) in udev which returns a
truncated value for ID_SERIAL on some scsi devices; this does
not break dname rules when the ephemeral environment matches
the target system, however if Focal deploys Bionic or in this
case Centos70, the udev in the target system produces a
different ID_SERIAL value which prevents the dname rules from
matching. Skip this test until we get a udev fix.

c0c986e... by Ryan Harper

vmtests: fix network mtu tests, separating ifupdown vs networkd

On networkd based releases, some of the existing ipv6 MTU tests
will not work, by design. The curtin ifupdown helper scripts
installed ensure that the base network interface mtu is always
set correctly; networkd requires an explicit device MTU setting
in addition to an IPV6 MTU value if they are to differ.

- Add a networkd specific mtu test config
- Add a _skip_if_not_ifupdown to avoid tests when on networkd
- Update scripts to capture additional debugging info when on
  networkd

Additional changes needed:
    - Add '---' before adding the service masking to ensure
      we disable snapd during vmtest
    - Refactor journalctl commands to separately sync, flush to
      ensure we capture the compelte journal when we collect
    - allow test class to specify add_repos, system_upgrade and
      upgrade_packages, env still wins if set
    - use systemd from ppa:ddstreet/systemd until ipv6 mtu
      bug is fixed

4fa2d66... by Mike Pontillo <email address hidden>

doc: Fix kexec documentation bug.

e91b2df... by Ryan Harper

vmtests: Add Focal Fossa

- Add the new release
- Switch some old Cosmic cases to Disco
- Add CentosXXFromFocal relbase
- Bump Skip-by dates for lvmroot, MTU and VLAN issues

1be1cd7... by Lee Trager

centos: Add centos/rhel 8 support, enable UEFI Secure Boot

This branch adds support for deploying CentOS and RHEL 8 images. As a
side effect this also enables secure UEFI boot for CentOS 7 when the
grub2-efi-x64 package is installed.

LP: #1788088