~raharper/curtin:fix/block-discover-no-mpath-name

Last commit made on 2020-03-06
Get this branch:
git clone -b fix/block-discover-no-mpath-name 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/block-discover-no-mpath-name
Repository:
lp:~raharper/curtin

Recent commits

84cce55... by Ryan Harper on 2020-03-06

Skip bionic probert, it's not new enough

3f995fb... by Ryan Harper on 2020-03-06

Capture apt errors when probert not available

dda20dc... by Ryan Harper on 2020-03-06

Add probert, if available, to ephemeral environment

79e8292... by Ryan Harper on 2020-03-06

block-discover: handle bad or partial multipath data

In some cases the multipath data may be missing or incomplete.
Don't emit the 'multipath' key in disks/partitions unless we have
valid probe data. Add unittests for two failure scenarios.

afa2561... by Ryan Harper on 2020-02-21

block-discover: do not emit 'multipath' in blockdevice if mpath name is None

c650f6c... by Ryan Harper on 2020-03-05

tox: all py27 environments should use the base py27 deps

We fixed base py27 deps to pin setuptools < 45 to fix an issue
with newer setuptools and py27 deprecation. We need source the
base py27 env deps in all py27 related environments

eacb655... by Ryan Harper on 2020-03-04

uefi: refactor efibootmg handling to support removing duplicate entries

When curtin is reusing an existing ESP, it may already contain a previous
ubuntu entry. efibootmgr complains about duplicate labels, but does not
provide a mechanism to remove the duplicate automatically. In curtin
we use our efibootmgr output parser to find duplicates and remove them.

To enable this we need to ensure that 'efivarfs' is mounted inside the
target. In ChrootableTarget we will add the additional mount automatically
if we're running on a uefi system.

This branch also refactors use of ChrootableTarget context manager to
minimize the number of chroot calls (which include 4 mounts and unmounts).

LP: #1864257

d3cac6f... by Ryan Harper on 2020-03-03

tox: pin setuptools < 45 to allow installing py27 in virtenv

setuptools release 45 broke everyone who installed py27[1]. Fix
this by using the previous release.

1. https://github.com/pypa/setuptools/issues/1963

437caaa... by Ryan Harper on 2020-02-26

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