Commit graph

845 commits

Author SHA1 Message Date
Tom Koscielniak
d19d933fe8 tests/CI: Add runners for RHEL 9.6 GA and 10.0 GA
Add new GA runners and remove the old 9.5 GA runner. Remove repo overrides for new runners as well. Add a comment explaining why a regression-old-worker-new-composer test will fail when a new major version GA runner is added.
2025-07-21 13:04:03 +02:00
Tomáš Hozza
17380c7aca test/cross-distro.sh: move el9 test build to 9.6
RHEL-9.5 is EOL and we no longer ship repositories for it. Let's move
the el9 test build to RHEL-9.6.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-07-14 13:13:20 +02:00
Sanne Raymaekers
5d67542f3f test: adapt to images v0.155.0
- renamed wsl disk;
- install latest osbuild version in worker regression test (but keep the
  older worker).
2025-07-10 16:00:45 +02:00
Achilleas Koutsou
61e3fc7f2e Stop testing on Fedora 40 - Start testing on Fedora 42
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-06-20 10:06:51 +02:00
Florian Schüller
f26b992fe1 test/cases/oci.sh: Update shape to newer version
As of today it was recommended by oracle to use the
newer shape to be supported longer.
2025-06-06 14:34:04 +02:00
Florian Schüller
f0d39d986f test/cases/oci: improve CI output
Avoid error message where this is no error.
2025-06-06 14:34:04 +02:00
Tom Koscielniak
488a53e106 tests: Fix failing cross distro test due to osbuild/images pseudo-version
The cross distro test started failing on RHEL 10.1, because the osbuild/images version was a Go pseudo-version that the sed command parsing the version did not recognize.
2025-06-03 17:06:52 +02:00
Tom Koscielniak
93684fcef9 tests: Improve logging in api.sh test
Add compose request output print in case of failure.
2025-06-03 17:06:52 +02:00
Tom Koscielniak
557d5f440c tests/CI: Add runners for RHEL 9.7 and 10.1
Add runners for RHEL 9.7 and 10.1 and remove 9.6 and 10.0 runners.
2025-06-03 17:06:52 +02:00
Tomáš Hozza
b0d2d47180 Test/cross-distro: add version check for cross-building el8 on el9
The issue has been fixed in 9.6 0day ZStream in v132.1, so running the
test against anything older will make the test fail. This is currently
the case for RHEL-9-nightly pipeline.

Let's solve this annoyance.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-05-06 02:27:52 +03:00
Tomáš Hozza
c587e723a9 Test/cross-distro: take the images version used to compile composer
After the move of the repo configs to `osbuild/images`, we changed the
way to determine the all available distro repo configs by taking the
last release of 'images'. This turns out to be fragile, especially when
the test case is being run on a "rhel-x.y.0" branch or basically with
any old osbuild-composer binary. It could happen also in Nightly test
pipelines after the devel freeze.

We always compile osbuild-composer binary with debug information, so we
can determine the vendored 'images' version from the binary. We also
always ship repo configs from the same 'images' version in the RPMs.

Therefore modify the test case to check out the 'images' version that
osbuild-composer was compiled with and use repo configs from that
version.

In addition, don't reduce the depth when cloning the images repository,
because even 200 commits may be too little on some older RHEL ZStream
branches.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-04-30 14:36:48 +03:00
Tomáš Hozza
ad68e81f1f Test/cross-distro: fix processing of repo configs
Previously, the code would remove everything after the first dot in the
repo config filename. So 'rhel-10.0.json' -> 'rhel-10'. This means that
there was just a bunch of 'rhel-X' repo config names to compare. This is
probably a leftover from the days before we introduced dot-notation for
distro names.

Modify the test to effectivelly strip only the filename extension (the
part after the last dot, including the dot).

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-04-30 14:36:48 +03:00
Tomáš Hozza
7036e2bcb9 Many: expose rhsm.subscription_manager.rhsm.auto_enable_yum_plugins
Expose the ${SUBJ} customization in Cloud API. Weldr API inherited it
automatically with the update of `osbuild/blueprint` to v1.6.0.

Adjust relevant test cases and unit tests to use this new customization.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-04-29 18:22:40 +03:00
Irina Gulina
6f4c2899f8 remove workaround for CLOUDX-994 2025-04-25 13:42:27 +02:00
Achilleas Koutsou
eda67e2cc6 test: disable verification step for vsphere builds
The vsphere verification is failing consistently with the following
error message from govc:

  A component of the virtual machine is not accessible on the host.

Disabling it until we have time to look into it further.
2025-04-16 10:46:13 +02:00
Tomáš Hozza
f9a8ae8d0d test/cross-distro: test actual image build on RHEL and CentOS
Test actual image builds of older distros on RHEL and CentOS, to catch
issues such as https://issues.redhat.com/browse/RHEL-71397.

The test can be later extended to cover also Fedora, but this is out of
scope at this point, since the goal is to ensure that RHEL cross-distro
builds work, because these differ a lot.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-04-01 08:40:13 +02:00
Tomáš Hozza
d00a658752 test/cross-distro: building c8s is no longer supported by any distro
c8s is EOL.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-04-01 08:40:13 +02:00
Tomáš Hozza
b010a855f6 test/shared_lib.sh: make *print functions print to stderr
This will allow using them inside Bash function that return values,
without tainting the returned value.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-04-01 08:40:13 +02:00
Tomáš Hozza
856bdd3c74 test/cross-distro: remove unnecessary condition for composer < v97
This test case is no longer being run with an osbuild-composer version
lower than v97, so there's no need to special case it.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-04-01 08:40:13 +02:00
Tomáš Hozza
d90399c260 test/cross-distro: remove repo overrides and force restart composer
Completely remove the /etc/osbuild-composer/repositories directory used
for repo overrides, to ensure that only repos from the RPM are used.

Moreover, instead of trying to restart osbuild-composer, which is always
a tricky thing to do, let's just stop all services and call the Weldr
API. Since the service is socket-activated, this will start all the
necessary services.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-04-01 08:40:13 +02:00
Tomáš Hozza
930658d605 Test/api.sh/vsphere: configure cloud-init via VM's extraConfig
We used to provide the cloud-init user-data and meta-data to the VM as
key/value in the VM's extraConfig as guestinfo keys. This replaces bunch
of code that used to create an ISO, upload it to VSphere and attach it
to the VM.

We recently started to observe issues when uploading the ISO to our
testing VSphere instance in CI. This commit aims to circumvent this
issue by using a different and simpler way to provide the cloud-init
data to the VM.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-03-31 12:33:48 +02:00
Sanne Raymaekers
d08cedf73b test/cases/api: add modules 2025-03-20 14:07:52 +01:00
Ondřej Budai
cdb709f7f7 test: don't install wget in the openshift virt test
curl can do the job just fine, and it's already installed. Let's just
use it.
2025-03-20 09:50:17 +01:00
Ondřej Budai
5a76595fe9 test: retry uploads in the openshift virt test
The networking to the cluster seems slightly flakey, so I noticed
a few failures when playing with it. A little retry is able to fix it.

The function was taken from deploy.sh. I considered de-duping it,
but deploy.sh runs in a context where
/usr/libexec/tests/osbuild-composer/shared_lib.sh is not yet
established, so it's unfortunately no so simple. :(
2025-03-20 09:50:17 +01:00
Ondřej Budai
8f48d4f746 test: migrate the openshift virt test to a new cluster
The old one is going to be decommissioned. I only changed:
- extracted the storage class to a variable
- adjusted the openshift yaml file to what I was given in the UI
  - most importantly, we now use an instancetype to specify the
    resource requirements instead of doing it manually
  - the network is called default, instead of nic0 on this cluster
- we are downloading the oc and virtctl clients from the new cluster
  so the versions match
2025-03-20 09:50:17 +01:00
Tom Koscielniak
9b850de9f1 tests/CI: Re-enable the vmware tests on RHEL 10
Re-enable the vmware tests on RHEL 10 and use vcenter 8 instead of 6. This fixes the issues caused by outdated CPUs in old cluster by migrating to a new one with new hosts as well.
2025-02-25 16:29:20 +01:00
Michael Vogt
2fc64aeaca test: tweak cross-build.sh test to look at latest released images
This commit tweaks the `cross-build.sh` to checkout the last release
tag of the images library instead of using main. The issue with using
main is that there are many false positive errors when e.g. a new
fedora release is added to main.

Ideally it would use the tag of the vendored images library but
this particular test looks at the rpm content so the information
what version of images was used is not readily available (we could
fix this but the workaround of this commit is hopefully sufficient).
2025-02-19 19:19:42 +01:00
Michael Vogt
886ddc0bcc test: debug print INSTALLED_DISTROS in cross-distro.sh
Add more information when the cross-distro.sh test fails. Currently
it prints:
```
DEBUG: ===== ALL_DISTROS ====
rhel-8
...
rhel-8
DEBUG: ===== ALL_EXPECTED_DISTROS ====
fedora-40
...
fedora-42
DEBUG: ===== ALL_REMAINDERS ====
rhel-8
....
rhel-8
DEBUG: ===== END ====
Some distros are missing!
Missing distros:
```
But the most crucial information (i.e. what is installed) is
missing from this debug print (it can be found in a different
output but lets make it easy).
2025-02-19 19:19:42 +01:00
Michael Vogt
97e924b06c test: update cross-distro.sh to take repos from "images"
This commit updates the `cross-distro.sh` test to use the
`images`repository to get all the available image definitions.
2025-02-13 14:00:45 +01:00
Achilleas Koutsou
448b1e276d test/filesystem: print blueprint contents when creating file
Can be useful for troubleshooting and tracing test logs.
2025-02-05 11:32:52 +01:00
Achilleas Koutsou
077a56b9ac test/filesystem: minor cleanups
Remove incorrect comment (not an ostree image).
Add a greenprint for depsolving since it can take some time for that to
run and it makes more sense than pausing output on "Preparing
blueprint".
2025-02-05 11:32:52 +01:00
Achilleas Koutsou
96269e454e test/filesystem: support various layouts
Add separate blueprint creation functions, one for each partitioning
layout:
- disk-plain
- disk-lvm
- disk-btrfs (Fedora only)

The existing 'filesystem' blueprint is also kept.

Each function also sets the $EXPECTED_MOUNTPOINTS variable for the
mountpoint check that happens after the build.
2025-02-05 11:32:52 +01:00
Achilleas Koutsou
8e765ad97d test/filesystem: remove conditions on v94
Version 94 of osbuild-composer is over a year old now.  It should be
fine to test these unconditionally.
2025-02-05 11:32:52 +01:00
Achilleas Koutsou
4241c1d5a7 test/filesystem: move blueprint writing to function
Move the creation of the blueprint to a function.  We'll then add a
separate blueprint function for the new, alternative partitioning
customization.
2025-02-05 11:32:52 +01:00
Achilleas Koutsou
083d84f70c test: update all calls to image-info
Call the script without a path since it's now in the PATH.

Drop the SELinux labelling workaround (chcon) from filesystem.sh and
image_tests.sh.  The packaged tool is already labelled correctly.

Install osbuild-tools instead of osbuild-composer-tests in
regression-old-worker-new-composer.sh to get osbuild-image-info.
2025-01-31 08:22:29 +01:00
Tomáš Hozza
cc79ad15e5 Test/worker-executor: make sure that the port is opened in firewall
It turned out that our new F41 CI images have firewalld installed. Make
sure that the worker-executor port is opened in firewall, otherwise the
worker can't connect to the executor.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-01-30 07:48:44 +01:00
Tomáš Hozza
2bc27d2d85 Many: replace 'which' with 'type -p' in test cases
Unfortunately, `which` does not seem to be installed by default on our
F41 CI images. Instead of doing the dance with rebuilds, which has been
problematic recently, let's not rely on `which` in scripts any more,
since we can replace it with the Bash built-in `type` command.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-01-30 07:48:44 +01:00
Tom Koscielniak
5a9bb8e10a test/cases: Adjust upgrade test to rhel 9.6
Adjust upgrade test to rhel 9.6 in order to meet the rhel CTC2 9.6 to 10.0 upgrade requirements
2025-01-23 16:27:10 +01:00
Lukas Zapletal
d531f62488 blueprint: add cacert customization 2025-01-10 10:26:54 +01:00
Sanne Raymaekers
1372be3f6e test/cases/api/azure: actually verify the HyperV Generation 2024-11-29 10:37:24 +01:00
Sanne Raymaekers
3a6a8813a5 test/cases/api/azure: use v2 HyperV generation 2024-11-21 11:22:20 +01:00
Yi He
867ff9c06e ci: change to rhel 9.6 2024-11-21 08:14:22 +01:00
Tom Koscielniak
d8295ea2ea Test with rhel-9.6 nightly 2024-11-21 08:14:22 +01:00
Achilleas Koutsou
c9e412f320 test: enable ignore_missing_repos in service configs 2024-11-05 08:21:42 +01:00
Jakub Rusz
78d3b2fde5 tests/filesystem: increase /usr size
The test started failing on 8.10 GA. It seems that something changed in
the system repos and the size we had originally set was not enough.
2024-10-07 15:02:42 +03:00
Jakub Rusz
07a18a5d49 tests/regression: Add config for v3 certificates
When generating x509 v3 certs we need to explicitely set "CA:TRUE"
otherwise they're not trusted to be used. Also start running the tests
on RHEL-9.5 and RHEL-10.0
2024-10-03 16:27:21 +02:00
Jakub Rusz
ec4aff7e58 test/cases: Use openscap customization on RHEL-10 2024-09-25 08:30:45 +02:00
Tomáš Hozza
fd33a37366 Test/koji.sh: adjust for SBOM documents
Adjust the test case to cope with the SPDX SBOM documents uploaded to
the Koji. Also explicitly check that there is the expected number of
SBOM documents uploaded as the image build output.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-09-20 17:02:09 +02:00
Achilleas Koutsou
b0c0e84142 test: replace openscap with compliance in rhsm facts
See https://github.com/osbuild/images/pull/914
2024-09-17 23:33:44 +02:00
Jakub Rusz
f58193dbeb test/cases: implement retry for ssh connection in api test
Fixing this by implementing a retry for the whole ssh connection
attempt.
2024-09-16 12:41:05 +02:00