Last commit made on 2020-05-26
Get this branch:
git clone -b release/20.1 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


Recent commits

0894624... by Ryan Harper on 2020-05-26

Release 20.1

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

LP: #1880741

4190db6... by Ryan Harper on 2020-05-26

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 on 2020-05-22

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 on 2020-05-21

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

      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 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.

  - 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