Commit graph

823 commits

Author SHA1 Message Date
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
Jakub Rusz
758982907a tests/cases: Rename upgrade test
And schedule on rhel-10
2024-09-06 14:38:57 +02:00
Jakub Rusz
15c8e83b94 test/cases: adapt upgrade to support rhel9to10 2024-09-06 14:38:57 +02:00
Sanne Raymaekers
a6b87b58f2 test/api: check openscap facts when appropriate 2024-09-06 11:39:35 +02:00
Tomáš Hozza
d7e59e6eec Worker: move GCE image guest OS features to upload target options
Previously, the worker was determining the GCE image guest OS Features
on its own, based on the OS name. This caused problems, in case the
osbuild-composer was of a newer version than the worker.

Example:
osbuild-composer contained support for c10s GCE image type and its
implementation also contained the proper guest OS Features list for it.
However, when the worker got the osbuild job, it built it and tried to
fetch the guest OS Features for the distro. Since its implementation was
too old, it didn't contain the code that added the actual support for
c10s GCE images and got no guest OS features list (which is the default
for unsupported distros). The image was successfully uploaded and
shared, but it does not boot in GCP, because it does not know that it
should use UEFI to boot it.

This behavior could be considered a bug. The worker should be dumb. It
should not be making decisions about the image features, but instead it
should take them from the upload target options. And composer should be
the authoritative source of truth for this. Because otherwise, we
basically have two components that need to be updated in sync to add
support for GCE images on a new distro.

Move the GCE image guest OS features to the GCP upload target options.
The worker will just take what is specified there and use it when
importing the image to GCP. As a compatibility layer for the case when
the composer would be older than the worker (unlikely, but still),
worker will try to determine the image guest OS features in case the
list in the upload target options is empty.

Extend the GCP functional tests to check that the imported image has at
least some guest OS features set.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-08-29 17:37:48 +02:00
Tomáš Hozza
82ff759ee1 Test: test GCE image type on el10 / c10s
Enable testing of GCE image type on el10 / c10s. The el10 / c10s image
type temporarily uses cloud-init, because there are no GCP guest tools
for el10 / c10s yet and el9 version can't be installed. This implies
that we need to set the SSH key in the instance metadata and use SSH
directly.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-08-23 13:10:53 +02:00
Tomáš Hozza
8035bd2c56 Test: enable image-installer tests on el10 / c10s
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-08-23 13:10:53 +02:00
Yi He
f27f9a2f80 ci: move edge fedora and centos-stream test to testing-farm 2024-08-19 17:30:49 +02:00
Tomáš Hozza
812b331743 test/libvirt.sh: don't test openstack image on el10 / c10s
There's no openstack image type on el10 / c10s any more.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-08-13 15:52:44 +02:00
Tomáš Hozza
725c5cdb25 test/api.sh: disable rpm customization on el10/c10s
The reason is that the key that we use to test the customization uses
SHA-1 in its signature. And this algorithm is no longer allowed by
default on el10 / c10s.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-08-13 15:52:44 +02:00
Tomáš Hozza
768537dba3 Add support for RHSM customizations
Add support for RHSM customizations, which currently allow various
aspects of RHSM. Specifically enabling / disabling DNF plugins shipped
by subscription-manager package and setting a subset of options in the
rhsm.conf.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-08-13 15:52:44 +02:00
Tomáš Hozza
26dd54a4d7 Add support for RPM customizations
Add support for RPM customizations, which currently allow to import RPM
GPG key from a file installed in the image. This is e.g. done for the
Azure RHUI image type.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-08-13 15:52:44 +02:00
Yi He
85e176f438 ci: move edge test to testing-farm 2024-08-13 13:51:18 +02:00
Jakub Rusz
b3fc3919ca tests/api: add --net=host for podman command
Otherwise there are issues on el-10.
2024-08-12 08:39:05 +03:00
Jakub Rusz
ce9b75ac87 tests/api: Remove openscap profile for el-10
Currently there are no openscap profiles for el-10.
2024-08-12 08:39:05 +03:00
Jakub Rusz
306772aafa tests/CI: additional scheduling and loggin updates
Do not schedule gcp.sh on rhel-10 and centos-stream-10. Also improve
loggin for aws.sh and azure.sh as the cloud-image-val testing is
currently not preformed there.
2024-08-12 08:39:05 +03:00
Jakub Rusz
9a223500aa tests/regression: do not schedule skipped tests
Also fail in case it does get scheduled so we actually notice.
2024-08-12 08:39:05 +03:00
Alexander Todorov
dd82900f53 Replace GOVC_DATACENTER with GOVMOMI_DATACENTER ENV var
both are defined in CI, but the GOVC_ prefix doesn't match anything
else. Additionally this value is slightly different for vCenter8 and may
lead to failures if not unified.
2024-08-12 08:39:05 +03:00
Alexander Todorov
fdb8cfb26a Temporarily disable testing with Satellite on el10
Related: COMPOSER-2264
2024-08-12 08:39:05 +03:00
Tomáš Hozza
d4c8f74ee4 Tests/regression-satellite: fix permission denied error in cleanup()
The cleanup() function cats the httpd log and error file, but did not
use sudo, which failed on permissions. Fix that.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-08-12 08:39:05 +03:00
Tomáš Hozza
df161ad23d Tests/cross-distro.sh: ignore upstream repos suffixed with 'no-aux-key'
The test case mistakenly takes into consideration also upstream repo
definitions with the 'no-aux-key' suffix, which are however never
installed by RPMs with this name.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-08-12 08:39:05 +03:00
Tomáš Hozza
764949a0b9 weldr-distro-dot-notation-and-aliases.sh: remove extra slash
Remove an extra forward slash in a directory path definition.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-08-12 08:39:05 +03:00
Alexander Todorov
7668911038 Add version_id for regression test scripts for rhel-10
note: may fail in the same way 9.5 does (SSL certificates) and may need
to be disabled. See code few lines above this change.
2024-08-12 08:39:05 +03:00