debian-forge-composer/test/cases
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
..
api Worker: move GCE image guest OS features to upload target options 2024-08-29 17:37:48 +02:00
api.sh test/api.sh: disable rpm customization on el10/c10s 2024-08-13 15:52:44 +02:00
aws.sh tests/CI: additional scheduling and loggin updates 2024-08-12 08:39:05 +03:00
aws_s3.sh test: use non-deprecated gitlab CI variables 2023-05-12 11:02:49 +02:00
azure.sh tests/CI: additional scheduling and loggin updates 2024-08-12 08:39:05 +03:00
azure_hyperv_gen2.sh Test Azure images on HyperV Gen1 and Gen2 2021-06-22 13:44:19 +03:00
base_tests.sh Test/base_tests.sh: workaround missing osbuild-depsolve-dnf in nightly 2024-02-20 15:55:47 +01:00
container-embedding.sh Refactor how the 'trap' command is used to avoid double calls 2024-04-19 13:16:11 +03:00
container-upload.sh Refactor how the 'trap' command is used to avoid double calls 2024-04-19 13:16:11 +03:00
cross-distro.sh Tests/cross-distro.sh: ignore upstream repos suffixed with 'no-aux-key' 2024-08-12 08:39:05 +03:00
filesystem.sh Merge clean_up() into cleanup_on_exit() for filesystem.sh 2024-04-19 13:16:11 +03:00
gcp.sh Worker: move GCE image guest OS features to upload target options 2024-08-29 17:37:48 +02:00
generic_s3.sh Refactor how the 'trap' command is used to avoid double calls 2024-04-19 13:16:11 +03:00
generic_s3_http.sh Upload to HTTPS S3 - Support self signed certificate 2022-05-26 13:46:00 +03:00
generic_s3_https_insecure.sh Upload to HTTPS S3 - Support self signed certificate 2022-05-26 13:46:00 +03:00
generic_s3_https_secure.sh Upload to HTTPS S3 - Support self signed certificate 2022-05-26 13:46:00 +03:00
image_tests.sh Remove already tested manifests from test-case-generators 2024-03-06 09:09:39 +01:00
installers.sh Test: enable image-installer tests on el10 / c10s 2024-08-23 13:10:53 +02:00
koji.sh Replace 9.4 conditions with 9.5 conditions inside test scripts 2024-06-07 10:31:54 +02:00
libvirt.sh test/libvirt.sh: don't test openstack image on el10 / c10s 2024-08-13 15:52:44 +02:00
minimal-raw.sh ci: move edge fedora and centos-stream test to testing-farm 2024-08-19 17:30:49 +02:00
multi-tenancy.sh Use dot-notation for repo configs and in test cases. 2024-01-26 11:32:34 +01:00
oci.sh Use --net=host when running podman, workaround RHEL-32374 2024-08-12 08:39:05 +03:00
openshift_virtualization.sh Refactor how the 'trap' command is used to avoid double calls 2024-04-19 13:16:11 +03:00
ostree-ami-image.sh test: update ostree osname in pending test cases 2024-06-04 17:01:53 +02:00
ostree-ignition.sh test: update ostree osname in pending test cases 2024-06-04 17:01:53 +02:00
ostree-iot-qcow2.sh Refactor how the 'trap' command is used to avoid double calls 2024-04-19 13:16:11 +03:00
ostree-ng.sh test: update osname for edge deployments 2024-05-14 21:12:36 +02:00
ostree-pulp.sh Refactor how the 'trap' command is used to avoid double calls 2024-04-19 13:16:11 +03:00
ostree-raw-image.sh test: update osname for edge deployments 2024-05-14 21:12:36 +02:00
ostree-simplified-installer.sh ci: move edge test to testing-farm 2024-08-13 13:51:18 +02:00
ostree-vsphere.sh ci: move edge test to testing-farm 2024-08-13 13:51:18 +02:00
ostree.sh Replace 9.4 conditions with 9.5 conditions inside test scripts 2024-06-07 10:31:54 +02:00
regression-composer-works-behind-satellite-fallback.sh tests/regression: do not schedule skipped tests 2024-08-12 08:39:05 +03:00
regression-composer-works-behind-satellite.sh tests/regression: do not schedule skipped tests 2024-08-12 08:39:05 +03:00
regression-excluded-dependency.sh test: new weldr client compatibility for test scripts 2022-09-13 16:06:19 +01:00
regression-include-excluded-packages.sh test: new weldr client compatibility for test scripts 2022-09-13 16:06:19 +01:00
regression-insecure-repo.sh Workaround race condition in test 2023-05-22 12:59:09 +02:00
regression-no-explicit-rootfs-definition.sh test: new weldr client compatibility for test scripts 2022-09-13 16:06:19 +01:00
regression-old-worker-new-composer.sh test/old-worker-new-composer: reset osbuild repo for image-info 2024-04-25 13:17:02 +02:00
shared_lib.sh tests/CI: additional scheduling and loggin updates 2024-08-12 08:39:05 +03:00
ubi-wsl.sh test/cases/ubi-wsl: test rhel9 ga 2024-05-29 16:05:01 +02:00
upgrade8to9.sh test/cases: run upgrade test using new nightlies 2023-11-27 10:04:47 +01:00
vmware.sh Refactor how the 'trap' command is used to avoid double calls 2024-04-19 13:16:11 +03:00
weldr-distro-dot-notation-and-aliases.sh weldr-distro-dot-notation-and-aliases.sh: remove extra slash 2024-08-12 08:39:05 +03:00
worker-executor.sh test/worker-executor: switch to oaas or osbuild-worker-executor 2024-06-12 11:36:30 +02:00