Commit graph

845 commits

Author SHA1 Message Date
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
Alexander Todorov
0a30d79d9b Skip testing in GCP - unsupported for now 2024-08-12 08:39:05 +03:00
Alexander Todorov
f1ac9cc7a0 Disable cloud-image-val because of CLOUDX-994 2024-08-12 08:39:05 +03:00
Alexander Todorov
f316ebff9f Define el10 variant for libvirt
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-08-12 08:39:05 +03:00
Alexander Todorov
0f2558d72e Use --net=host when running podman, workaround RHEL-32374 2024-08-12 08:39:05 +03:00
Alexander Todorov
dedc6c970d Define cs10 variant for libvirt 2024-08-12 08:39:05 +03:00
Achilleas Koutsou
769b04b862 test/api: silent dump_db()
When cleaning up api tests, the build job results are dumped from the
database to store in build-result.txt and are printed to the runner log
at the same time.  This makes it very difficult to read results as the
database dump prints very long lines that flood the job log.  The result
isn't really readable (or useful) unless the file is downloaded
separately.

Silence the `tee` command so that the file is created but no output is
printed from the db dump.
2024-07-29 15:05:15 +02:00
Nicolás M
80a782caac Added arch and storage_account, needed by CIV to deploy the resources without having to check for vhd uri regex.
The regex check is now not needed since we create other shared image metadata on the fly. Plus it was not a good solution for an upstream project, as the regex was only affecting our RH teams internally.
2024-07-08 21:48:26 +09:00
Achilleas Koutsou
a55bf9a177 test: update path to tailoring file in api tests
See https://github.com/osbuild/images/pull/752
and 7bd70d828e
2024-07-04 19:01:07 +02:00
Nicolás M
7c7fd5e741 Added spot_instance = true for CIV deployments in AWS. 2024-07-04 17:57:08 +09:00
Sanne Raymaekers
899360f200 test/cases/api: fix nginx url
This snapshot got deleted as well.
2024-06-28 12:02:24 +02:00
Sanne Raymaekers
9d62f01c7d test/worker-executor: switch to oaas or osbuild-worker-executor 2024-06-12 11:36:30 +02:00
Alexander Todorov
c80ca0a64d Temporary disable 2 regression tests on 9.5
Related: COMPOSER-2264
2024-06-07 10:31:54 +02:00
Alexander Todorov
ee1f70ec2e Add self-signed CA files to system trust store
in the hope that dnf in 9.5 will actually trust them and not fail
2024-06-07 10:31:54 +02:00
Alexander Todorov
3860f03d68 Update distro aliases in test 2024-06-07 10:31:54 +02:00
Alexander Todorov
8d0eb8b0cb Replace 9.4 conditions with 9.5 conditions inside test scripts 2024-06-07 10:31:54 +02:00
Mario Cattamo
ba60b22104 test: update ostree osname in pending test cases 2024-06-04 17:01:53 +02:00
Tomáš Hozza
80f9410e7f Add c10s and el10.0 repo definitions.
Add the GA repos (which don't obviously work yet for el10.0) and RPMrepo
snapshots for testing.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-06-04 13:03:37 +02:00
Sanne Raymaekers
5d1094a94e test/cases/ubi-wsl: test rhel9 ga 2024-05-29 16:05:01 +02:00
Achilleas Koutsou
d6e78fa3b1 test/dot-notation-aliases: typo fixes and cleanups
- Change the alias example at the top of the file to use RHEL 9 -> 9.4
  instead of 8 -> 8.10 which is no longer true for the test.
- Fix some comment typos.
- Clean trailing whitespaces.
2024-05-29 00:27:31 +02:00
Achilleas Koutsou
a6a5daa209 test/dot-notation-aliases: override rhel-8 alias
The test relies on the existence of the /etc/dnf/vars/releasever file
and the value it specifies.  In SAP images, this file specifies the
locked release version for the system and it is written by the image
definition itself.  This makes it a good candidate for ensuring we are
using the correct distro version when building the image.

However, RHEL 8.10 SAP images don't lock the distro version because 8.10
is the last minor version in the RHEL 8 cycle.

Let's override the alias for RHEL 8 to point to 8.8, which is a version
that should contain a releasever.  The exact value we use isn't
important.  What we are testing here is the mechanism for resolving
aliases.
2024-05-29 00:27:31 +02:00
Mario Cattamo
9164c9a8dd test: update osname for edge deployments 2024-05-14 21:12:36 +02:00
Sanne Raymaekers
007a10fd64 test/old-worker-new-composer: reset osbuild repo for image-info
Image-info is installed via the latest test rpms, which need a newer
osbuild version.
2024-04-25 13:17:02 +02:00
Alexander Todorov
ede798ae6c Merge clean_up() into cleanup_on_exit() for filesystem.sh 2024-04-19 13:16:11 +03:00
Alexander Todorov
2a8bd4ce9b Define cleanup() function in outer scope and execute on EXIT
for these 2 scripts we make cleanup() defined in the outer scope and
make sure that it executes on EXIT rather than RETURN which makes it
possible to stick the journalctl killing functionality inside of the
same function.
2024-04-19 13:16:11 +03:00
Alexander Todorov
85ce42570d Refactor how the 'trap' command is used to avoid double calls
in many files there was a secondary call to `trap` for the sole purpose
of killing jornalctl (watching worker logs) so that GitLab CI doesn't
hang.

The issue with this is that sometimes the cleared the trap which invokes
the cleanup() function without reinstating it again (not everywhere).

Instead of doing this back-and-forth just make sure we don't leave any
journalctl processes dangling in the background!

NOTES:

- for some scripts, mainly ostree- ones there was no cleanup trap
  present, but instead `trap` was configured inside the build_image() function.
  The trouble is that this function is executed multiple times and
  $WORKER_JOURNAL_PID changes value between these multiple executions.
  That's why these scripts introduce the cleanup_on_exit() function where
  we make sure to kill any possible dangling journalctl processes.
- The name `cleanup_on_exit()` is chosed because these same scripts
  often have a helper function named clean_up() which is sometimes used to remove
  virtual machines and other artifacts between calls of build_image().
2024-04-19 13:16:11 +03:00
Alexander Todorov
3732028d59 Update Arm64 EC2 instance to a newer one
This one is 1 vCPU + 4GiB RAM, the older one is 2 vCPU, same RAM
2024-04-18 10:52:24 +02:00
Sanne Raymaekers
bde74c218b test/regression-old-worker: pick correct osbuild commit
The osbuild version should correspond to the version in the Schutzfile
for the old worker.

Furthermore the commits should be pulled from the rhel-9-cdn
repositories.
2024-04-17 10:27:08 +02:00
Achilleas Koutsou
9aa80c25bc test: drop oscap test script and gitlab job
The test is being migrated to osbuild/images.
See https://github.com/osbuild/images/pull/502

Signed-off-by: Achilleas Koutsou <achilleas@koutsou.net>
2024-03-27 17:20:37 +01:00