~raharper/curtin:feature/block-discover-dasd

Last commit made on 2020-02-25
Get this branch:
git clone -b feature/block-discover-dasd 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/block-discover-dasd
Repository:
lp:~raharper/curtin

Recent commits

7d0477a... by Ryan Harper on 2020-02-25

block-discover: dasd disks need device_id, vtoc if present

Refactor discover to include device_id in type: disk so
partitions can lookup the path to the disk. If the dasd
device is formatted, include ptable: vtoc. Add additional
unittests to verify this behavior.

3fc8f0f... by Ryan Harper on 2020-02-21

block-discover: add dasd parser and emit dasd storage config

Probert now includes a 'dasd' element in the probe data.
If present, block-discover will now parse this data and
emit type:dasd elements in the rendered storage config.

LP: #1862849

82f23e3... by Ryan Harper on 2020-02-14

install-grub: refactor uefi partition/disk searching

Refactor the code used to determine the partition and disk where the
ESP resides. There were a few issues:

 - Disks and partitions are of type 'block' which requires the use of
   [ -b ] or [ -e ]; [ -f ] returns false for block devices.
 - The use of lsblk -on pkname exposed a bug in util-linux where pkname
   did not return a value.

This branch adds additional debug logging and safety checks for any
calculated value and fails on empty values. We replace use of lsblk
with use of sysfs to calculate the parent disk of the partition. Add
a vmtest to verify the path where we use efibootmgr to create an entry.

LP: #1862846

2fa55b9... by Paul Tobias on 2020-02-11

doc: update Canonical contributors URL

The http://www.canonical.com/contributors link shows a 404
error. Replace it with the current Canonical contributor
license agreement page.

4d468ef... by Ryan Harper on 2020-02-07

block-discover: detect additional "extended" partition types in MBR

Surprise! There are additional encoding values for "extended" partitions
in MBRs. Add the 3 additional values (0x5, 0x85, 0xC5) to the mapping
table and add unittest using provided probe data.

LP: #1861251

42963bc... by Ryan Harper on 2020-02-07

vmtests: skip focal bcache tests due to kernel bug

073bc43... by Ryan Harper on 2020-02-07

net/deps.py: detect openvswitch cfg and install openvswitch packages

Scan the provided network-config and if openvswitch keywords are
present then install the require openvswitch packages into the
target system.

- Enable both version detections, top-level openvswitch and as
  renderer
- Also detect renderer values and install the required renderer
- Add vmtest to verify package is installed

14c0560... by Ryan Harper on 2020-02-05

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 on 2020-02-04

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 on 2020-02-04

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