~raharper/curtin:fix/wipe-zfs-no-utils

Last commit made on 2018-08-17
Get this branch:
git clone -b fix/wipe-zfs-no-utils 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/wipe-zfs-no-utils
Repository:
lp:~raharper/curtin

Recent commits

90e4ec0... by Ryan Harper

Swap order of is_zfs_member and zfs_supported in wipe_superblock

38fd556... by Ryan Harper

Drop zfs global, check is cheap; rename assert_zfs_supported -> zfs_assert_supported

44d5889... by Ryan Harper

Fix missing mocks and params

b03e4db... by Ryan Harper

Add zfs assert_zfs_supported and refactor callers

- Add new zfs_assert_zfs_supported which returns True or
  raises RuntimeErrors
- Update zfs_supported to always return a boolean, and
  throws no exception. Make use of a global variable so
  we limit checking for zfs support exactly once.
- Add new block.get_supported_filesystems() which reads
  filesystems that are available via /proc/filesystems.
- Adjust callers of zfs_supported in block_meta to raise
  their own exception if zfs_supported() returns False.

6a6d2bd... by Ryan Harper

Zfs supported checks for binaries

Add a check for required binaries to zfs.zfs_supported
Add unittests to check it throws RuntimeError
Add zfs_supported check to use in clear-holders
Move try:except block around zfs.export_pool

df15a62... by Ryan Harper

clear-holders: handle missing zpool/zfs tools when wiping

Allow curtin to continue to wipe disks on systems where zfs
kernel module is present but zfsutils-linux is not.

LP: #1782744

6a776e1... by Ryan Harper

clear-holders: rescan for lvm devices after assembling raid arrays

Lvm devices to be found after assembling raid arrays. Add a call after
lvm_scan to activate any discovered vgs and lvs.

LP: #1783413

40d682c... by Ryan Harper

vmtest: enable persistent journal and collect at boot time

Target OSes which use systemd-journald may or maynot enable a
persistent journal on the root filesystem. If the target release
supports journald, issue the commands to create a persistent
journal. During the boot phase, issue commands to flush the
journal and collect (and compress) the journal as the last
script before tar'ing the collect data.

Rename vmtest_pollinate.yaml to vmtest_defaults.yaml. This
file is included in all vmtest runs.

1b387fb... by Scott Moser

Add timing and logging functions.

This adds some decorators and functions to easily time function call.
It was originally done to get an idea on how much time we spend waiting
for udevadm settle, but the code is generally useful.

Note that the 'cmd_install' timer unfortunately doesn't make it
into the saved-off log as the message is appended after it is copied.

1a201e5... by Scott Moser

parse_dpkg_version: support non-numeric in version string.

This fixes parse_dpkg_version for packages with non-numeric (0-9.)
in their versions. It also improves it to work for native packages.
Native packages do not have '-'. Also adds tests of parse_dpkg_version.

LP: #1786795