At least in our CI, the default place to store VM runtime overlays
(testvm.get_temp_dir()) points to a tmpfs file, so that tests can put VM
overlays into RAM and are not affected by slow I/O. But that doesn't
work for composer, as it tends to produce huge overlays due to real-life
OS composed trees.
Use /var/tmp/ instead, which is meant for large files.
Also simplify the VirtMachine invocation -- if `identity_file` is None,
that's fine -- it's the default value of that argument anyway.
Cherry-picked from master commit 9b8e0e2335
In order to enable testing on rel-eng images, it's necessary to properly
change the way lorax-composer packages are installed (in Makefile and
vm.install script).
Related: rhbz#1810711
The same change has been made in the live ISO test, so keep this change uniform
also in the test_repos_sanity.sh test and vm.install script.
Related: rhbz#1828808
It's not possible anymore to use latest-RHEL-$major in the URLs, it's necessary
to also supply the minor version for rel-eng composes. Also the URL structure
had to be updated due to changes on the download servers.
Related: rhbz#1828808
when testing downstream snapshots this makes sure that
lorax-composer and composer-cli are coming from the host OS.
We also make 100% sure that there are no other repositories inside
the VM other than what has been configured on the host!
Make it possible to override where repo files are copied from by
defining the REPOS_DIR variable. By default the value is
/etc/yum.repos.d
Cherry-picked from bd2f4925de
Related: rhbz#1770193
previously relying on nested virt
Related: rhbz#1770193
NOTE: live-iso still fails on RHEL 7 and we've been unsuccessfull
figuring out why so skip it for now
to help with running the tests by hand on downstream snapshots.
In that scenario we want TEST_OS/VM_IMAGE to look as closely as
possibly like the snapshot that we'd like to test.
Cherry-picked from 1351c4dc63
Related: rhbz#1770193
after the changes around live-iso and qcow2 test cases the asserts
used have also changed. This commit utilizes the existing test lib.
Cherry-picked from d67745d755
Related: rhbz#1770193
Note: use podman-docker to avoid changing tests too much. This
is also what we have on the RHEL branches.
There's no service to be started/restarted so remove everything
related to docker service.
Cherry-picked from e1b45958f4
Related: rhbz#1770193
Use anaconda to install the root.tar.xz into a disk image. Copy the
disk image to the host, and use the cockpit vm support to boot it and
test it.
Cherry-picked from 4705ff3b1e
Related: rhbz#1770193
On Fedora 31 passworless root login is no longer working. We already
install a ssh key, may as well use it.
This also reduces the live boot timeout to 2s from 60s, which should
help with timeout problems when booting.
Cherry-picked from e3654e8297
Related: rhbz#1770193
This splits out the lorax-composer specific execution so that the built
image can be downloaded from the build vm and booted by the host instead
of using nested virt to try and boot it inside the build vm.
Also adds copying the ssh key from the build vm so that it can log into
the image and run the test_boot_* scripts.
Cherry-picked from df7a018ee2
Related: rhbz#1770193
- save compose logs under /var/log/$TEST
- save qemu logs under /var/log/$TEST/qemu.log
- download everything to $TEST_ATTACHMENTS so it can be saved
in CI results
Cherry-picked from 8af9723c
Related: rhbz#1770193
Skipping because:
larsu: I get `open failed: administratively prohibited: open failed`
larsu: ssh somehow disallows making a side channel for the forward
larsu: there's an option that controls it, but it's set to "yes"
larsu: I've straced the sshd, with no luck coming closer
We'll deal with this later, possibly together with the rest of
the skipped test cases.
Related: rhbz#1698366
- these files are executed under Python 3 while the linter
is Python 2 for RHEL 7 so we just ingore them
- also reverts the changes introduced to make these files Py2
compatible, making them the same as on master branch
Related: rhbz#1698366
this will report failing status in CI in case we have the
'Ran 0 tests in 46.486s' scenario.
Note: the check is placed after runner.run() to present the
message shown above which should make it more clear what went on.
Related: rhbz#1698366
0 run