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
Adding only rel-eng optional repo for live-iso can cause
broken dependencies if the base repo (nightly) contains
packages in newer versions than what is required by packages
in optional repo.
A better way in the live-iso test is to add a rel-eng or
nightly optional repo based on the already existing repos.
Fixes: rhbz#1826029
Running lorax-composer --no-system-repos will prevent it from copying
the yum repositories from /etc/yum.repos.d/ into the lorax-composer repo
directory. It will *only* use repositories setup using the sources api
or written to /var/lib/lorax/composer/repos.d/
If lorax-composer has previously been run without this switch the system
repos will need to be removed from the composer/repos.d/ directory. It
would also be a good idea to remove the cached metadata in
/var/tmp/composer/
Resolves: rhbz#1785388
This change is needed for VMWare testing due to changes in the storage,
and the datastore we used before is not available for the time being.
Related: rhbz#1785159
Anaconda doesn't download the filelists or 'other' metadata, which can
add a significant amount of space to the metadata cache on the build
host. So to estimate the amount of space needed by Anaconda exclude the
space used by *filelists* and *other* files.
With these changes the lorax-composer estimate should actually be fairly
accurate. But since Anaconda only uses the installedsize * 1.35 we have
to make sure that the size we use is at least as big as what anaconda
will estimate, otherwise the installation will fail.
Resolves: rhbz#1761337
anaconda moves the yum cache to the disk once it is partitioned, so the
downloaded rpms also consume space until the installation is finished.
Take this into account when estimating the size.
Thanks to Christophe Besson for spotting this.
Related: rhbz#1761337
In some cases it will not boot without a console, and the CI framework
defaults to using serial console. So set it on live-iso, qcow2, and the
final iso installed with liveimg.
Related: rhbz#1770193
The RHEL7 version of Anaconda only allows .service units to be used with
the kickstart services command. Update the documentation, examples, and
tests to reflect this.
Related: rhbz#1718473
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
passwd and openssh-clients need to be installed, and there is no need to
use sudo when you are connecting to the system as root.
Cherry-picked from 454af0c5d5
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
Nested virt is not reliable enough, especially on other arches, to rely
on for testing the created images. This moves the test code into
test_boot_* scripts to be run from inside the booted images.
It also adds copying the results of the build into
/var/tmp/test-results/, and includes the generated ssh key so that
whatever boots the image can also log in.
The tests/test_image.sh script has been added to handle running the
test_boot_* scripts without any of the extra lorax-composer specific
setup.
Cherry-picked from b8bf258a3c
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