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