debian-forge-composer/cmd
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
..
gen-manifests cmd/gen-manifests: pass repoconfigs when serializing manifests 2024-04-17 10:27:08 +02:00
mock-dnf-json switch to images/pkg/dnfjson and remove internal copy 2024-02-20 15:55:47 +01:00
osbuild-auth-tests Remove old build tag comments 2023-03-07 09:22:23 -08:00
osbuild-composer splunk_logger: move environment hook to splunk_logger pt2 2024-08-28 16:41:07 +02:00
osbuild-composer-cli-tests Update deprecated io/ioutil functions 2023-03-07 09:22:23 -08:00
osbuild-composer-dbjobqueue-tests Remove old build tag comments 2023-03-07 09:22:23 -08:00
osbuild-dnf-json-tests cmd/osbuild-dnf-json-tests: check repo configs 2024-04-17 10:27:08 +02:00
osbuild-image-tests internal/boot: adapt to aws sdk v2 2024-08-20 15:32:40 +02:00
osbuild-jobsite-builder osbuild-jobsite-builder: disable http.Server timeouts 2024-03-21 17:08:07 +01:00
osbuild-jobsite-manager osbuild-jobsite-manager: clean up store archive after use 2024-03-21 15:20:52 +01:00
osbuild-koji Worker/koji-finalize: import osbuild manifest and log to Koji build 2023-09-27 12:39:28 +02:00
osbuild-koji-tests Worker/koji-finalize: import osbuild manifest and log to Koji build 2023-09-27 12:39:28 +02:00
osbuild-mock-openid-provider Update deprecated io/ioutil functions 2023-03-07 09:22:23 -08:00
osbuild-service-maintenance osbuild-service-maintenance: adapt to aws sdk v2 2024-08-20 15:32:40 +02:00
osbuild-store-dump cmd/osbuild-store-dump: pass repoconfigs when serializing manifests 2024-04-17 10:27:08 +02:00
osbuild-upload-aws osbuild-upload-aws: remove aws sdk v1 dependency 2024-08-20 15:32:40 +02:00
osbuild-upload-azure azure: add an option to tag page blobs 2022-06-13 21:06:01 +02:00
osbuild-upload-container split: replace internal packages with images library 2023-07-10 21:11:19 +02:00
osbuild-upload-gcp build(deps): bump cloud.google.com/go/compute from 1.10.0 to 1.19.3 2023-05-22 11:51:42 +02:00
osbuild-upload-generic-s3 osbuild-uploadgeneric-s3: remove aws sdk v1 dependency 2024-08-20 15:32:40 +02:00
osbuild-upload-oci internal/target: add OCI object storage target 2023-09-19 22:57:06 +02:00
osbuild-upload-pulp-ostree cmd: update the final message in osbuild-upload-pulp-ostree 2023-10-18 21:14:46 +02:00
osbuild-worker Worker: move GCE image guest OS features to upload target options 2024-08-29 17:37:48 +02:00
osbuild-worker-executor Revert "osbuild-worker-executor: job-id in control.json as hostname" 2024-06-25 10:58:10 +02:00