Skip to content

Commit

Permalink
Add workflows for Rocky Linux 8 and 9 with Nvidia 550 (#2423)
Browse files Browse the repository at this point in the history
  • Loading branch information
a-crate authored Dec 18, 2024
1 parent 46b15e8 commit fa94ed0
Show file tree
Hide file tree
Showing 8 changed files with 841 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{{/*
Template to publish Rocky 8 optimized for GCP/Nvidia images.
By default this template is setup to publish to the 'gce-image-builder'
project, the 'environment' variable can be used to publish to 'test', 'prod'
DeleteAfter is set to 180 days for all environments other than prod where no
time period is set.
*/}}
{
"Name": "rocky-linux-8-optimized-gcp-nvidia-550",
{{$work_project := printf "%q" "gce-image-builder" -}}
{{$endpoint := `"https://www.googleapis.com/compute/alpha/projects/"` -}}
{{$delete_after := `"24h*30*4"` -}}
{{if eq .environment "test" -}}
"WorkProject": {{$work_project}},
"PublishProject": "bct-prod-images",
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- else if eq .environment "prod" -}}
"WorkProject": {{$work_project}},
"PublishProject": "rocky-linux-accelerator-cloud",
"ComputeEndpoint": {{$endpoint}},
{{- else if eq .environment "autopush" -}}
"WorkProject": {{$work_project}},
"PublishProject": "artifact-releaser-autopush",
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": "3h",
{{- else -}}
"WorkProject": {{$work_project}},
"PublishProject": {{$work_project}},
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- end}}
{{$time := trimPrefix .publish_version "v"}}
"Images": [
{
"Prefix": "rocky-linux-8-optimized-gcp-nvidia-550",
"Family": "rocky-linux-8-optimized-gcp-nvidia-550",
"Description": "Rocky Linux 8 optimized for GCP with Nvidia driver 550 built on {{$time}}",
"Architecture": "X86_64",
"Licenses": [
"https://www.googleapis.com/compute/v1/projects/rocky-linux-accelerator-cloud/global/licenses/nvidia-550",
"https://www.googleapis.com/compute/v1/projects/rocky-linux-accelerator-cloud/global/licenses/rocky-linux-8-accelerated",
"https://www.googleapis.com/compute/v1/projects/rocky-linux-cloud/global/licenses/rocky-linux-8-optimized-gcp"
],
"GuestOsFeatures": ["UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", "GVNIC", "SEV_CAPABLE", "SEV_SNP_CAPABLE", "SEV_LIVE_MIGRATABLE", "SEV_LIVE_MIGRATABLE_V2", "IDPF"]
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
{
"Name": "rocky-linux-8-optimized-gcp-nvidia-550",
"Project": "gce-image-builder",
"Zone": "us-central1-b",
"GCSPath": "gs://gce-image-build-bucket/daisy/${USERNAME}",
"Vars": {
"build_date": {
"Value": "${TIMESTAMP}",
"Description": "Build datestamp used to version the image."
},
"google_cloud_repo": {
"Value": "DEPRECATED",
"Description": "DEPRECATED. Included to ease transition of our pipelines, but not used."
},
"workflow_root": {
"Value": "/workflows",
"Description": "Root of github workflows, defaults to /workflows in the container."
},
"gcs_url": {
"Required": true,
"Description": "The GCS path that image raw file exported to."
},
"sbom_destination": {
"Value": "${OUTSPATH}/export-image.sbom.json",
"Description": "SBOM final export destination, copies in place by default"
},
"installer_iso": {
"Required": true,
"Description": "The Rocky Linux 8 installer ISO to build from."
},
"sbom_util_gcs_root": {
"Value": "",
"Description": "The root gcs bucket for sbomutil, if using sbomutil to generate the SBOM."
},
"sha256_txt": {
"Value": "${OUTSPATH}/export-image-shasum.txt",
"Description": "The file where the sha256 sum is stored."
}
},
"Steps": {
"build": {
"TimeOut": "60m",
"IncludeWorkflow": {
"Path": "${workflow_root}/image_build/enterprise_linux/rocky_linux_8_optimized_gcp_nvidia_550.wf.json",
"Vars": {
"build_date": "${build_date}",
"installer_iso": "${installer_iso}"
}
}
},
"export-image": {
"Timeout": "60m",
"IncludeWorkflow": {
"Path": "${workflow_root}/export/disk_export.wf.json",
"Vars": {
"destination": "${gcs_url}",
"sbom_destination": "${sbom_destination}",
"source_disk": "el-install-disk",
"sbom_util_gcs_root": "${sbom_util_gcs_root}",
"sha256_txt": "${sha256_txt}"
}
}
},
"cleanup-image": {
"DeleteResources": {
"Images": ["rocky-linux-8-optimized-gcp-nvidia-550-v${build_date}"]
}
}
},
"Dependencies": {
"export-image": ["build"],
"cleanup-image": ["export-image"]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{{/*
Template to publish Rocky 9 optimized for GCP/Nvidia images.
By default this template is setup to publish to the 'gce-image-builder'
project, the 'environment' variable can be used to publish to 'test', 'prod'
DeleteAfter is set to 190 days for all environments other than prod where no
time period is set.
*/}}
{
"Name": "rocky-linux-9-optimized-gcp-nvidia-550",
{{$work_project := printf "%q" "gce-image-builder" -}}
{{$endpoint := `"https://www.googleapis.com/compute/alpha/projects/"` -}}
{{$delete_after := `"24h*30*4"` -}}
{{if eq .environment "test" -}}
"WorkProject": {{$work_project}},
"PublishProject": "bct-prod-images",
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- else if eq .environment "prod" -}}
"WorkProject": {{$work_project}},
"PublishProject": "rocky-linux-accelerator-cloud",
"ComputeEndpoint": {{$endpoint}},
{{- else if eq .environment "autopush" -}}
"WorkProject": {{$work_project}},
"PublishProject": "artifact-releaser-autopush",
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": "3h",
{{- else -}}
"WorkProject": {{$work_project}},
"PublishProject": {{$work_project}},
"ComputeEndpoint": {{$endpoint}},
"DeleteAfter": {{$delete_after}},
{{- end}}
{{$time := trimPrefix .publish_version "v"}}
"Images": [
{
"Prefix": "rocky-linux-9-optimized-gcp-nvidia-550",
"Family": "rocky-linux-9-optimized-gcp-nvidia-550",
"Description": "Rocky Linux 9 optimized for GCP with Nvidia driver 550 built on {{$time}}",
"Architecture": "X86_64",
"Licenses": [
"https://www.googleapis.com/compute/v1/projects/rocky-linux-accelerator-cloud/global/licenses/nvidia-550",
"https://www.googleapis.com/compute/v1/projects/rocky-linux-accelerator-cloud/global/licenses/rocky-linux-9-accelerated",
"https://www.googleapis.com/compute/v1/projects/rocky-linux-cloud/global/licenses/rocky-linux-9-optimized-gcp"
],
"GuestOsFeatures": ["UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", "GVNIC", "SEV_CAPABLE", "SEV_SNP_CAPABLE", "SEV_LIVE_MIGRATABLE", "SEV_LIVE_MIGRATABLE_V2", "IDPF", "TDX_CAPABLE"]
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
{
"Name": "rocky-linux-9-optimized-gcp-nvidia-550",
"Project": "gce-image-builder",
"Zone": "us-central1-b",
"GCSPath": "gs://gce-image-build-bucket/daisy/${USERNAME}",
"Vars": {
"build_date": {
"Value": "${TIMESTAMP}",
"Description": "Build datestamp used to version the image."
},
"google_cloud_repo": {
"Value": "DEPRECATED",
"Description": "DEPRECATED. Included to ease transition of our pipelines, but not used."
},
"workflow_root": {
"Value": "/workflows",
"Description": "Root of github workflows, defaults to /workflows in the container."
},
"gcs_url": {
"Required": true,
"Description": "The GCS path that image raw file exported to."
},
"sbom_destination": {
"Value": "${OUTSPATH}/export-image.sbom.json",
"Description": "SBOM final export destination, copies in place by default"
},
"installer_iso": {
"Required": true,
"Description": "The Rocky Linux 9 installer ISO to build from."
},
"sbom_util_gcs_root": {
"Value": "",
"Description": "The root gcs bucket for sbomutil, if using sbomutil to generate the SBOM."
},
"sha256_txt": {
"Value": "${OUTSPATH}/export-image-shasum.txt",
"Description": "The file where the sha256 sum is stored."
}
},
"Steps": {
"build": {
"TimeOut": "60m",
"IncludeWorkflow": {
"Path": "${workflow_root}/image_build/enterprise_linux/rocky_linux_9_optimized_gcp_nvidia_550.wf.json",
"Vars": {
"build_date": "${build_date}",
"installer_iso": "${installer_iso}"
}
}
},
"export-image": {
"Timeout": "60m",
"IncludeWorkflow": {
"Path": "${workflow_root}/export/disk_export.wf.json",
"Vars": {
"destination": "${gcs_url}",
"sbom_destination": "${sbom_destination}",
"source_disk": "el-install-disk",
"sbom_util_gcs_root": "${sbom_util_gcs_root}",
"sha256_txt": "${sha256_txt}"
}
}
},
"cleanup-image": {
"DeleteResources": {
"Images": ["rocky-linux-9-optimized-gcp-nvidia-550-v${build_date}"]
}
}
},
"Dependencies": {
"export-image": ["build"],
"cleanup-image": ["export-image"]
}
}
Loading

0 comments on commit fa94ed0

Please sign in to comment.