~raharper/curtin:fix/bcache-dname-use-backing-uuid

Last commit made on 2018-04-19
Get this branch:
git clone -b fix/bcache-dname-use-backing-uuid 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/bcache-dname-use-backing-uuid
Repository:
lp:~raharper/curtin

Recent commits

e5571a5... by Ryan Harper

make_dname for bcache should use backing device uuid

bcache minor numbers are not stable across reboots which means
the dname symlinks pointing to a bcacheN isn't going to be stable either.
Instead, build a udev rule that links the backing device's bcache uuid
to the assigned dname. Additionally also update the backing device
'label' sysfs attribute with the dname value.

This does rely on changes to bcache-tools to trigger the rules, currently
there is a kernel bug (LP: #1729145) which is pending, and a user-space
workaround in bcache-tools (LP: #1728742). Either is sufficent for
the updated rules to be effective.

Some additional fixes found during this work

command/curthooks.py
  - don't append .rule to rule files, they already have .rule
examples/tests/mdadm_bcache_complex.yaml
  - removed, duplicate of mdadm_bcache.yaml
tests/vmtests/
  - refactor test_dname into base class, fix subclasses

05de781... by Ryan Harper

zfsroot: add additional checks, do not require disk 'serial' attribute

Add some additional validation to the storage config when using 'zfsroot'
format type. Ensure that the bootdisk is formated with GPT. Allow a
storage config using zfsroot/zpool to work with disks without a 'serial'
attribute, but log a warning that the pool may be unstable due to changes
in device names. Add unittests; update documentation with restrictions.

LP: #1760879
LP: #1760880

572ae5d... by Ryan Harper

clear-holders: fix lvm name use when shutting down

The shutdown_lvm handler was reconstructing the name of
the lvm device incorrectly if the vg or lv name included
a hyphen. LVM requires names with hyphens to duplicate the hyphen.
Resolve this issue by keeping the original name from the sysfs
entry and using that when issuing the dmsetup command.

LP: #1764602

1d4d17c... by Ryan Harper

install: prevent unmount: disabled from swallowing installation failures

Using a 'return' or 'break' command in a finally block will discard
any saved exception. The return also removed a code path preventing
the install stage from applying any power state. Fix by converting to
an if/else.
  https://docs.python.org/3/reference/compound_stmts.html#try

LP: #1764210

fc19cec... by Ryan Harper

vmtest: bionic images no longer use the vlan package

Bionic images do not use the 'vlan' package to provide vlan
network configuration; skip this on bionic images.

2ee5245... by Scott Moser

pycodestyle: Fix invalid escape sequences in string literals.

A bit of information from python doc that I got by never having known:
  String literals may optionally be prefixed with a letter `r' or `R';
  such strings are called raw strings and use different rules for
  backslash escape sequences.
  ...
  Unless an `r' or `R' prefix is present, escape sequences in strings are
  interpreted according to rules similar to those used by Standard C.

So basically, any use of \ not followed by one of [\'"abfnrtv]
or \ooo (octal) \xhh (hex) or a newline is invalid. This is most
commonly seen for us in regex. To solve, you either:
 a.) use a raw string r'...'
 b.) correctly escape the \ that was not intended to be interpreted.

Python has deprecated these invalid string literals now
  https://bugs.python.org/issue27364
and pycodestyle is identifying them with a W605 warning.
  https://github.com/PyCQA/pycodestyle/pull/676

45564ee... by Scott Moser

Drop ubuntu branch management script new-upstream-snapshot.

This script was used for managing our ubuntu/ branches.
Instead of maintaining it here, we have moved it to another location.
  https://github.com/cloud-init/qa-scripts/

ad8bcca... by Chad Smith

Release 18.1

72edda2... by Ryan Harper

zfs/zpool version=28 by default, allow users to override default values.

Include documentation note and link to openzfs wiki for furthe details
around compatibility and features.

LP: #1754013

bd40234... by Ryan Harper

helpers/shell-archive: drop use of tar --sparse flag

Do not use tar [-S, --sparse] flag: at least one filesystem (btrfs)
requires sync/fsync to ensure proper detection of sparse files.
curtin doesn't contain any sparse files so this does not affect payload
size.

LP: #1757565