~raharper/curtin:fix/multiple-carry-over-param-separators

Last commit made on 2020-05-22
Get this branch:
git clone -b fix/multiple-carry-over-param-separators 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/multiple-carry-over-param-separators
Repository:
lp:~raharper/curtin

Recent commits

beafd4b... by Ryan Harper on 2020-05-22

Handle multiple separators which were found in TestAllindata vmtest

aaccefe... by Ryan Harper on 2020-05-21

vmtest: trigger guest panic to fail fast

A number of vmtest scenarios trigger stuck or hung kernels and leave
the VM running in such state which continues to consume resources on
the host, prolonging the total time for a vmtest complete run. This
patch reconfigures the guest kernel to panic on soft-lockups, NMI
watchdog misses, and hung tasks and configures QEMU to exit when a
reboot occurs.

The combination will ensure that when a guest cannot progress we fail
fast and exit. The default install timeout is 3000 seconds. In the
case of a failure we now will immediate exit, recording failure, and
move on to the next test instead of burning resources for the
remaining portion of the timeout. This will dramatically reduce the
total amount of time to complete a run and we typically see an install
failure in the first 300 or so.

For test-cases which have provent to be a challenge, we can optionally
enable the 'crashdump' flag in a VMTest class which will modify a VM
to enable the linux kernel crashdump feature and if such a panic
occurs, then lkcd would trigger a dump and capture more debugging
state. This is disabled by default; there are some bugs in
configuring/enabling crashdump "live" in the ephemeral enviroment so
we'll only turn this on for hard-to-debug crashes

7310b4f... by Ryan Harper on 2020-05-20

Replace grub-shell-helper with install_grub command

The install_grub command implemented in shell code inside
helpers/common lacked unittests. We've had some recent and
ongoing changes in this space which need greater unittest
coverage. Add a new command line option and update
curthooks to utilize it.

Also:
  - Move util.get_architecture into distro class

69a1404... by Paride Legovini on 2020-05-20

vmtest-sync-images: update the URL of the maas streams

The old URL goes through a couple of redirects but does not land at the
correct location.

c816305... by James Falcon on 2020-05-14

Replace references to old team manager with new team manager

aca7ba6... by Paride Legovini on 2020-05-14

tox: pin flake8 to version and add a tip-flake8 environment

Let's have a stable py3-flake8 tox environment that we run
as part of the CI, and a tip-flake8 environment we can run
in a separate job (or manually) to check the compliance
with the newer flake8 versions, without braking the CI.

537890a... by Lucas Albuquerque Medeiros de Moura on 2020-05-13

Fix flake8 E741 warning

6cbdc02... by Ryan Harper on 2020-05-07

Makefile: make adjustments to call lint/style tools via python module

- Drop nosetest invocation
- Drop tools/run-pyflakes*
- Add pylint targets
- Add pylintopts and target_dirs
- Fix style and lint issues

145e493... by Ryan Harper on 2020-05-07

block-discover: ignore invalid id_serial/id_wwn values

When obtaining unique ids for identifying a block storage
device, block-discover looks for ID_WWN and ID_SERIAL values
and will use them in the rendered storage config. In some cases
the value of these attributes may be invalid. For example, some
consumer disks might have an invalid WWN number:

0x00000000000000000000

Curtin will also ignore empty values, like
ID_SERIAL=' '

Excluded ids will not be emitted in the final storage config.

LP: #1876848

8ab48f6... by Ryan Harper on 2020-05-06

Fix handing of reusing msdos partitions and flags

Disks with an MSDOS partition table and one partition with the
'bootable' flag set exposed a parsing error in block.sfdisk_info;
further digging revealed that curtin was not setting the bootable
flag on MSDOS partitions when required. Not setting isn't fatal,
grub still boots the partition, but we should set the flag if told
to do so. Additionally storage-config conversion of probe data
where the MSDOS boot flag is set was missing. The following changes
are done to fix this issue

- switch to sfdisk --json output and use/introduce util.load_json()
- block-meta: update parted command to set boot flag if present
- block-discover: prefer ID_PART_ENTRY_FLAGS when present, and 0x80
- Add vmtest to verify reuse of msdos partition and bootable flag
- Fix boot, extended, logical flag verfication
- Fix extended partition size verification

LP: #1875903