Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mantle/gcp: support c3 metal instance types #3878

Merged
merged 1 commit into from
Sep 13, 2024

Conversation

dustymabe
Copy link
Member

This requires the IDPF guest OS feature flag to be set when creating GCP images and also a TERMINATE maintenance policy and hyperdisk storage. With this change, after uploading a disk you can then test with kola with something like:

cosa kola run -p=gcp                        \
    --gcp-json-key=key.json                 \
    --gcp-project=project                   \
    --gcp-machinetype=c3-highcpu-192-metal  \
    --gcp-zone=us-central1-c basic

Related to coreos/fedora-coreos-tracker#1794

This requires the IDPF guest OS feature flag to be set when creating
GCP images and also a TERMINATE maintenance policy and hyperdisk
storage. With this change, after uploading a disk you can then test
with kola with something like:

```
cosa kola run -p=gcp                        \
    --gcp-json-key=key.json                 \
    --gcp-project=project                   \
    --gcp-machinetype=c3-highcpu-192-metal  \
    --gcp-zone=us-central1-c basic
```

Related to coreos/fedora-coreos-tracker#1794
@dustymabe
Copy link
Member Author

ignore golangci-lint - those failures are handled in #3876

@cgwalters
Copy link
Member

Whenever we change the disk/cloud code we should also double check what the image builder code does since ideally in the future we unify with those, was that done?

@dustymabe
Copy link
Member Author

Whenever we change the disk/cloud code we should also double check what the image builder code does since ideally in the future we unify with those, was that done?

No I didn't. It turns out I made a bad assumption.

The RHEL9 image somehow does have that guestOS feature enabled:

root@24de7c60b75c:~# gcloud compute images describe-from-family --project rhel-cloud rhel-9
architecture: X86_64
archiveSizeBytes: '8386093056'
creationTimestamp: '2024-09-10T13:40:19.697-07:00'
description: Red Hat, Red Hat Enterprise Linux, 9, x86_64 built on 20240910
diskSizeGb: '20'
enableConfidentialCompute: false
family: rhel-9
guestOsFeatures:
- type: UEFI_COMPATIBLE
- type: VIRTIO_SCSI_MULTIQUEUE
- type: SEV_CAPABLE
- type: SEV_SNP_CAPABLE
- type: SEV_LIVE_MIGRATABLE
- type: SEV_LIVE_MIGRATABLE_V2
- type: GVNIC
- type: IDPF
id: '4739446824535658588'
kind: compute#image
labelFingerprint: 42WmSpB8rSM=
licenseCodes:
- '7883559014960410759'
licenses:
- https://www.googleapis.com/compute/v1/projects/rhel-cloud/global/licenses/rhel-9-server
name: rhel-9-v20240910
rawDisk:
  containerType: TAR
  source: ''
selfLink: https://www.googleapis.com/compute/v1/projects/rhel-cloud/global/images/rhel-9-v20240910
sourceType: RAW
status: READY
storageLocations:
- asia
- eu
- us

and I assumed that since it did OSBuild already had that setting baked in. I guess there is some other source of truth for those images?

I'll open a PR over there too.

@major
Copy link

major commented Sep 13, 2024

@dustymabe GCP builds these images with their own tooling. We could escalate it to them via internal channels if needed.

@dustymabe
Copy link
Member Author

@dustymabe GCP builds these images with their own tooling. We could escalate it to them via internal channels if needed.

Thanks @major - no need. Just wanted to understand the delta and now we do.

@dustymabe
Copy link
Member Author

@cgwalters - opened osbuild/images#929

@mike-nguyen
Copy link
Member

mike-nguyen commented Sep 13, 2024

/lgtm

@dustymabe
Copy link
Member Author

ignore golangci-lint - those failures are handled in #3876

merging..

@dustymabe dustymabe merged commit 93e6e82 into coreos:main Sep 13, 2024
4 of 5 checks passed
@dustymabe dustymabe deleted the dusty-gcp-c3-metal branch September 13, 2024 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants