Skip to content

mantle/gcp: Only set x86-specific guest OS features on x86_64 images#4528

Draft
dustymabe wants to merge 1 commit intocoreos:mainfrom
dustymabe:dusty-fix-arm-gcp-uploads
Draft

mantle/gcp: Only set x86-specific guest OS features on x86_64 images#4528
dustymabe wants to merge 1 commit intocoreos:mainfrom
dustymabe:dusty-fix-arm-gcp-uploads

Conversation

@dustymabe
Copy link
Copy Markdown
Member

ARM GCP images were being created with x86-specific confidential computing guest OS features (SEV_CAPABLE, SEV_SNP_CAPABLE, TDX_CAPABLE) that are not applicable to the ARM64 platform. Move these features along with SEV_LIVE_MIGRATABLE_V2 into the x86_64-specific branch so ARM64 images only get the architecture-independent features: VIRTIO_SCSI_MULTIQUEUE, GVNIC, UEFI_COMPATIBLE, and IDPF.

Fixes: coreos/fedora-coreos-tracker#2106

Written-by: <anthropic/claude-opus-4.6>

ARM GCP images were being created with x86-specific confidential
computing guest OS features (SEV_CAPABLE, SEV_SNP_CAPABLE, TDX_CAPABLE)
that are not applicable to the ARM64 platform. Move these features
along with SEV_LIVE_MIGRATABLE_V2 into the x86_64-specific branch
so ARM64 images only get the architecture-independent features:
VIRTIO_SCSI_MULTIQUEUE, GVNIC, UEFI_COMPATIBLE, and IDPF.

Fixes: coreos/fedora-coreos-tracker#2106

Written-by: <anthropic/claude-opus-4.6>
@openshift-ci
Copy link
Copy Markdown

openshift-ci bot commented Apr 8, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the GCP image creation logic to consolidate architecture-specific features. The review identified that a TODO comment regarding SEV_CAPABLE was inadvertently removed during the refactoring, and suggested restoring it along with the original descriptive comments to maintain context and readability.

Comment thread mantle/platform/api/gcloud/image.go
Copy link
Copy Markdown
Member

@travier travier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not tested (sight) but LGTM

@aaradhak
Copy link
Copy Markdown
Member

aaradhak commented Apr 17, 2026

Verification:

  1. Downloaded test images:
    ```
    - fedora-coreos-43.20260331.2.1-gcp.x86_64.tar.gz
    - fedora-coreos-43.20260331.2.1-gcp.aarch64.tar.gz



  2. Uploaded tarballs to GCS:

gcloud storage cp fedora-coreos-43.20260331.2.1-gcp.x86_64.tar.gz gs://rhcos-devel/test-gcp-fix-x86-64.tar.gz --project=openshift-rhcos-devel
gcloud storage cp fedora-coreos-43.20260331.2.1-gcp.aarch64.tar.gz gs://rhcos-devel/test-gcp-fix-aarch64.tar.gz --project=openshift-rhcos-devel





 3. Created images with the features the patched ore code would set:
  # x86_64 :

gcloud compute images create test-gcp-fix-x86-64
--project=openshift-rhcos-devel
--source-uri=gs://rhcos-devel/test-gcp-fix-x86-64.tar.gz
--architecture=X86_64
--guest-os-features=VIRTIO_SCSI_MULTIQUEUE,GVNIC,UEFI_COMPATIBLE,IDPF,SEV_CAPABLE,SEV_SNP_CAPABLE,TDX_CAPABLE,SEV_LIVE_MIGRATABLE_V2


  # aarch64 - only common features, no SEV/TDX

gcloud compute images create test-gcp-fix-aarch64
--project=openshift-rhcos-devel
--source-uri=gs://rhcos-devel/test-gcp-fix-aarch64.tar.gz
--architecture=ARM64
--guest-os-features=VIRTIO_SCSI_MULTIQUEUE,GVNIC,UEFI_COMPATIBLE,IDPF





  4. Verified features:

$ gcloud compute images describe test-gcp-fix-x86-64 --project=openshift-rhcos-devel --format="table(guestOsFeatures.type:label=FEATURE)"
FEATURE
['VIRTIO_SCSI_MULTIQUEUE', 'GVNIC', 'UEFI_COMPATIBLE', 'IDPF', 'SEV_CAPABLE', 'SEV_SNP_CAPABLE', 'TDX_CAPABLE', 'SEV_LIVE_MIGRATABLE_V2']



$ gcloud compute images describe test-gcp-fix-aarch64 --project=openshift-rhcos-devel --format="table(guestOsFeatures.type:label=FEATURE)"
FEATURE
['VIRTIO_SCSI_MULTIQUEUE', 'GVNIC', 'UEFI_COMPATIBLE', 'IDPF']





  Result: x86_64 includes all 8 features (SEV_CAPABLE, SEV_SNP_CAPABLE, TDX_CAPABLE, SEV_LIVE_MIGRATABLE_V2) while aarch64 correctly has only the 4 common features with no confidential computing features.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ARM fedora-coreos-cloud images have incompatible guest OS features

3 participants