~raharper/curtin:feature/add-focal

Last commit made on 2019-12-17
Get this branch:
git clone -b feature/add-focal 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:
feature/add-focal
Repository:
lp:~raharper/curtin

Recent commits

00bd9b1... by Ryan Harper on 2019-12-12

Move skip_by date for vlan bug out since we're already past the date and it's not fixed

7fa766f... by Ryan Harper on 2019-11-20

fix style whitespace

1a5c276... by Ryan Harper on 2019-11-20

Add a netplan.yaml check back into dasd test

17c3e1d... by Ryan Harper on 2019-11-19

Fix tox

37ff035... by Ryan Harper on 2019-11-15

Focal systemd still pads vlan mtu by 4 bytes, skip it

3190892... by Ryan Harper on 2019-11-15

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

78678e2... by Ryan Harper on 2019-12-17

vmtest: Fix a missing unset of OUTPUT_FSTAB

The initramfs-only-one branch modified how we use "dirty-disk" mode
which previously had unset environment variables used by curtin,
OUTPUT_FSTAB; this had some undesirable side-effects and instead
we set OUTPUT_FSTAB to a tmpdir and block-meta will now verify
expected environment variables. We missed a variant of the "dirty-disk"
mode used to recreate a specific bcache bug and now we see stack traces
warning about unset OUTPUT_FSTAB in vmtest output:

  raise KeyError("missing environment vars: %s" % missing)

This branch applies the same fix to this scenario.

b022ed4... by Ryan Harper on 2019-12-16

curthooks: handle s390x/aarch64 kernel install hooks

On s390x, and aarch64, the kernel package directly calls
arch specific commands (zipl, flash-kernel) which fail to run
correctly if an initramfs isn't already created in the image. This
broke installation when we attempt to only create the initramfs
once. This branch adds arch support into the code path to divert
not only 'update-initramfs' but the arch specific tools as well and
restores them prior to running the real 'update-initramfs' command.

LP: #1856038

e7952f6... by Ryan Harper on 2019-12-10

clear-holders: handle arbitrary order of devices to clear

At some point, the vmtest for LVM over bcache device list to clear
was sorted in a way that exposed a bug in the level calculation
resulting in not determining that the LVM device must be shutdown
before the bcache layer.

Resolve this by three changes: First we now sort the holders trees so
we have a consistent plan. Second when adding devices to the shutdown
registry, if the device has not been seen we take the max of either the
current level, or the size of the devices holders and lastly, the level
calculation requires recursion to find the full depth rather than just
taking the length of the holders list.

04adfd9... by Ryan Harper on 2019-12-04

curthooks: only run update-initramfs in target once

During an installation of Ubuntu; various packages (linux-image,
zfs-initramfs, mdadm, multipath-tools, etc) require an update
to the initramfs contents to ensure configuration details are
available. In the worst-case we call update-initramfs three
or more times. This branch disables update-initramfs in the
target system by moving it out of the way; then it replaces
the update-initramfs binary with equivalent of /bin/true as
some package's post-install hook call update-initramfs directly
and fail without it being present. At the end of curthooks
curtin re-enables the original update-initramfs and ensures
that all kernels installed will have an initrd.img created
or updated as needed.

Additional changes:
- block_meta
  - enable strict=True loading of command environment state
    to ensure curtin has required state present.
  - Replace open-coded file writing with util.write_files
    for mdadm and crypttab.
- curthooks
  - Use dpkg-divert to check if update-initramfs has been
    diverted.
  - Move update-initramfs actions (redhat & debian) under
    the same event reporter.
- vmtests
  - Don't unset OUTPUT_FSTAB, instead provide an alternative
    location.
  - Move class-based extra_kernel_args to the end; some
    class configs specify '---' which affects the
    carry-over kernel parameters used when booting the
    installed image.

LP: #1842264