The bug is marked as fix-released (cosmic), and not fixed in bionic.
Our tests still fail in cosmic though, so kick this along while we figure
that out.
tools/jenkins-runner: Error if both filters and tests are given.
Previously if you gave both '--filter' and 'tests/vmtests/' arguments
to tools/jenkins-runner it would just silently ignore the test arguments.
Just fail instead of doing the wrong thing, and possibly leaving the user
believing that the tests they provided correctly ran.
vmtests: prevent tests from modifying cls.collect_scripts
vmtests now has a set of collect scripts which are shared in all
subclassed tests and should not be modifed by the subclass. Fix
test_lvm_raid.py which modified cls.collect_scripts to use
extra_collect_scripts and update the base class to raise a RuntimeError
if a subclass presents a modified cls.collect_scripts.
Enable custom storage configuration for centos images
Add support for the majority of storage configurations including
partitioning, lvm, raid, iscsi and combinations of these. Some
storage configs are unsupported at this time:
Unsupported storage config options on Centos:
- bcache (no kernel support)
- zfs (no kernel support)
- jfs, ntfs, reiserfs (no kernel, userspace support)
Curtin's built-in curthooks now support Centos in addition
to Ubuntu. The built-in curthooks are now callable by
in-image curthooks. This feature is announced by the
presence of the feature flag, 'CENTOS_CURTHOOK_SUPPORT'
Other notable features added:
- tools/jenkins-runner now includes a test filtering
ability which enables generating the list of tests to
run by specifying attributes of the classes. For example
to run all centos70 tests append:
--filter=target_release=centos70
- curtin/distro.py includes distro specific methods, such as
package install and distro version detection
- util.target_path has now moved to curtin.paths module
vmtest: ensure we collect /var/log/journal only once
Appending the journal script to the collect_scripts parameter
modified a share class variable which resulted in more than
one call to the script to collect the journal. The script itself
was not defensive about repeated calls and would copy the
journal dir more than once which resulted in filling the capacity
of the output disk.
The changes here make the script defensive to only run once,
and fail if additional attempts to run are made.
Don't allow reads of /proc and modprobe zfs through
New zfs_supported check reads /proc/filesystems to see if
zfs is already available and attempts to modprobe. These things
fail under launchpad sbuilds. Make sure to mock out the calls to
these functions and provide positive values for the failing unittest.
vmtest: enable persistent journal and collect at boot time
Target OSes which use systemd-journald may or maynot enable a
persistent journal on the root filesystem. If the target release
supports journald, issue the commands to create a persistent
journal. During the boot phase, issue commands to flush the
journal and collect (and compress) the journal as the last
script before tar'ing the collect data.
Rename vmtest_pollinate.yaml to vmtest_defaults.yaml. This
file is included in all vmtest runs.