~raharper/curtin:fix/vmtest-preserve-partition-wipe-vg-disk-config

Last commit made on 2020-06-01
Get this branch:
git clone -b fix/vmtest-preserve-partition-wipe-vg-disk-config 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/vmtest-preserve-partition-wipe-vg-disk-config
Repository:
lp:~raharper/curtin

Recent commits

717bb84... by Ryan Harper

vmtests: fix PreservePartitionWipeVg storage config

This vmtest had both wipe and preserve settings enabled; for disks
this is not correct, we can either wipe a disk or preserve it but
we cannot do both (unlike partitions where we can keep the partition
location, flag, size, etc, but wipe the data). This branch

- Fixes the storage config in the vmtest
- Add a RuntimeException indicating this config is invalid
- Add unittests for get_device_paths_from_storage_config

42a9667... by Ryan Harper

vmtests: update skiptests

- Drop skiptests for vlan issue, now fixed
- Drop skiptest on Ubuntu ReuseESP tests
- Add skiptest for Centos, new Bug #1881030
- Drop skip-by-date for CentosTestScsiBasic
  Bug #1859858 is fixed
- Bump skip_by_date on tests with bcache by-uuid symlinks,
  Bug #1861951 not fixed yet.

f745886... by Ryan Harper

vmtest: allow installed centos images to reboot

Centos images require a reboot on first boot for selinux relabing

LP: #1881011

5153c57... by Ryan Harper

Release 20.1

Bump the version in curtin/__init__.py to be 20.1.

LP: #1880741

4190db6... by Ryan Harper

Handle multiple separators which were found in TestAllindata vmtest

TestAllindata specifies additional kernel args and include the '---'
separator. vmtest baseclass already includes a '---' and after
landing of the grub refactor, the python version of the
get_carryover_params did not handle the additional '---'.
Fix this by combining any args after the first '---' separator.

cb60d8a... by Ryan Harper

verify_ptable_flag: dos primary partitions use ptable_uuid map for flag

Curtin currently special-cases verifying MSDOS 'boot', 'extended'
and 'logical' flags. This ignored primary DOS partitions. When
verifying partition flags on a MSDOS primary partition use
ptable_uuid_to_flag_entry map as we do for GPT partitions.

LP: #1878890

8120f5c... by Lucas Albuquerque Medeiros de Moura

net_meta: add disabled mode to skip writing any network config

Curtin's install command invokes 'net-meta auto' by default
which will handle provided network config or render a config
based on the environments current network configuration.

Adding 'disabled' mode allows users who handle writing their
own network config into the target to disable curtin's config.

This config

install:
   network_commands:
      disabled: ['curtin', 'net-meta', 'disabled']

instructs curtin to not write out any network-config files to
the target system.

Adds vmtests:
  - verify net-meta disabled does not render file in target
  - verify users can pass network: {config: disabled} to disable
    cloud-init networking in the target
  - verify users can pass newtork:
    {config: disabled, version: 1} to disable cloud-init
    networking in the target

aaccefe... by Ryan Harper

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

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

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.