From 39b386b936545b3edb9e6a06c5a99e49a6b4744a Mon Sep 17 00:00:00 2001 From: Bruno Cesar Rocha Date: Thu, 18 Jun 2026 15:10:09 +0100 Subject: [PATCH 1/7] Add GCD cluster profile and installer CI job Add the "gcd" (Google Cloud Dedicated) cluster profile for testing OpenShift installations on Google Cloud Dedicated (Berlin environment) using Workload Identity Federation. - Register "gcd" cluster profile with cluster_type "gcp" - Add cluster-secrets-gcd to secret bootstrap config - Add 3 Boskos quota slices for gcd-quota-slice - Add e2e-gcd test to installer config, pinned to build13 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../openshift/installer/openshift-installer-main.yaml | 9 +++++++++ .../cluster-profiles/cluster-profiles-config.yaml | 8 ++++++++ core-services/ci-secret-bootstrap/_config.yaml | 4 ++++ core-services/prow/02_config/_boskos.yaml | 6 ++++++ 4 files changed, 27 insertions(+) diff --git a/ci-operator/config/openshift/installer/openshift-installer-main.yaml b/ci-operator/config/openshift/installer/openshift-installer-main.yaml index b65d8d54ec200..53295dc9f0c47 100644 --- a/ci-operator/config/openshift/installer/openshift-installer-main.yaml +++ b/ci-operator/config/openshift/installer/openshift-installer-main.yaml @@ -530,6 +530,15 @@ tests: FEATURE_SET: TechPreviewNoUpgrade OS_IMAGE_STREAM: rhel-10 workflow: openshift-e2e-aws +- always_run: false + as: e2e-gcd + cluster: build13 + optional: true + steps: + cluster_profile: gcd + env: + GOOGLE_CLOUD_UNIVERSE_DOMAIN: apis-berlin-build0.goog + workflow: openshift-e2e-gcp - as: e2e-gcp-ovn run_if_changed: (gcp|google) steps: diff --git a/ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml b/ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml index f3308eaaa397b..40b6505bd6f69 100644 --- a/ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml +++ b/ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml @@ -1234,6 +1234,14 @@ cluster_profiles: lease_type: fleet-manager-qe-quota-slice name: fleet-manager-qe secret: cluster-secrets-fleet-manager-qe +- cluster_type: gcp + lease_type: gcd-quota-slice + name: gcd + owners: + - org: openshift + repos: + - installer + secret: cluster-secrets-gcd - cluster_type: gcp lease_type: gcp-quota-slice name: gcp diff --git a/core-services/ci-secret-bootstrap/_config.yaml b/core-services/ci-secret-bootstrap/_config.yaml index b2019b3fd5578..6da98fee3ae5b 100644 --- a/core-services/ci-secret-bootstrap/_config.yaml +++ b/core-services/ci-secret-bootstrap/_config.yaml @@ -1530,6 +1530,10 @@ secret_configs: - non_app_ci name: cluster-secrets-gcp-perfscale-qe namespace: ci + - cluster_groups: + - non_app_ci + name: cluster-secrets-gcd + namespace: ci - from: gce.json: field: credentials.json diff --git a/core-services/prow/02_config/_boskos.yaml b/core-services/prow/02_config/_boskos.yaml index bd7acde51ed66..009e008bce19e 100644 --- a/core-services/prow/02_config/_boskos.yaml +++ b/core-services/prow/02_config/_boskos.yaml @@ -4252,6 +4252,12 @@ resources: - ap-northeast-1--fleet-manager-qe-quota-slice-2 state: free type: fleet-manager-qe-quota-slice +- names: + - eu-berlin-1--gcd-quota-slice-0 + - eu-berlin-1--gcd-quota-slice-1 + - eu-berlin-1--gcd-quota-slice-2 + state: free + type: gcd-quota-slice - names: - us-central1--gcp-3-quota-slice-00 - us-central1--gcp-3-quota-slice-01 From 0e00b9094f76f13ce209dd6eaf34b6c90be5c707 Mon Sep 17 00:00:00 2001 From: Bruno Cesar Rocha Date: Thu, 18 Jun 2026 15:22:30 +0100 Subject: [PATCH 2/7] Use real GCD region in Boskos quota slice names The region prefix in Boskos slice names becomes LEASED_RESOURCE, which install steps pass as the target region. Use europe-west3 to match the valid GCD regions from the installer. Co-Authored-By: Claude Opus 4.6 (1M context) --- core-services/prow/02_config/_boskos.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core-services/prow/02_config/_boskos.yaml b/core-services/prow/02_config/_boskos.yaml index 009e008bce19e..72dbdd822ddac 100644 --- a/core-services/prow/02_config/_boskos.yaml +++ b/core-services/prow/02_config/_boskos.yaml @@ -4253,9 +4253,9 @@ resources: state: free type: fleet-manager-qe-quota-slice - names: - - eu-berlin-1--gcd-quota-slice-0 - - eu-berlin-1--gcd-quota-slice-1 - - eu-berlin-1--gcd-quota-slice-2 + - europe-west3--gcd-quota-slice-0 + - europe-west3--gcd-quota-slice-1 + - europe-west3--gcd-quota-slice-2 state: free type: gcd-quota-slice - names: From 5652c6103508cc82608acd5fa0d5ee39eb402254 Mon Sep 17 00:00:00 2001 From: Bruno Cesar Rocha Date: Mon, 22 Jun 2026 11:15:36 +0100 Subject: [PATCH 3/7] Remove installer CI job from this PR Scope this PR to cluster profile registration only. The e2e-gcd installer job will be added in a follow-up PR once the profile is available. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../openshift/installer/openshift-installer-main.yaml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/ci-operator/config/openshift/installer/openshift-installer-main.yaml b/ci-operator/config/openshift/installer/openshift-installer-main.yaml index 53295dc9f0c47..b65d8d54ec200 100644 --- a/ci-operator/config/openshift/installer/openshift-installer-main.yaml +++ b/ci-operator/config/openshift/installer/openshift-installer-main.yaml @@ -530,15 +530,6 @@ tests: FEATURE_SET: TechPreviewNoUpgrade OS_IMAGE_STREAM: rhel-10 workflow: openshift-e2e-aws -- always_run: false - as: e2e-gcd - cluster: build13 - optional: true - steps: - cluster_profile: gcd - env: - GOOGLE_CLOUD_UNIVERSE_DOMAIN: apis-berlin-build0.goog - workflow: openshift-e2e-gcp - as: e2e-gcp-ovn run_if_changed: (gcp|google) steps: From e933e096d6f79828653c52ad13f267c3f04819d9 Mon Sep 17 00:00:00 2001 From: Bruno Cesar Rocha Date: Mon, 22 Jun 2026 11:19:05 +0100 Subject: [PATCH 4/7] Add csi-operator to gcd cluster profile owners Storage team needs access for CSI operator testing on GCD, same as the AWS EUSC pattern. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../cluster-profiles/cluster-profiles-config.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml b/ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml index 40b6505bd6f69..c3c87d9ea3611 100644 --- a/ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml +++ b/ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml @@ -1240,6 +1240,11 @@ cluster_profiles: owners: - org: openshift repos: + - csi-operator + - installer + - org: openshift-priv + repos: + - csi-operator - installer secret: cluster-secrets-gcd - cluster_type: gcp From c5b1f4e040943c7f6c3c6c76ec602e322d4af344 Mon Sep 17 00:00:00 2001 From: Bruno Cesar Rocha Date: Tue, 23 Jun 2026 10:21:09 +0100 Subject: [PATCH 5/7] Reduce gcd Boskos quota slices from 3 to 2 With 140 vCPU capacity shared for development and each cluster needing around 40 vCPU, 3 simultaneous clusters would risk exhausting quota. Co-Authored-By: Claude Opus 4.6 (1M context) --- core-services/prow/02_config/_boskos.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/core-services/prow/02_config/_boskos.yaml b/core-services/prow/02_config/_boskos.yaml index 72dbdd822ddac..6e2cb123dcb4e 100644 --- a/core-services/prow/02_config/_boskos.yaml +++ b/core-services/prow/02_config/_boskos.yaml @@ -4255,7 +4255,6 @@ resources: - names: - europe-west3--gcd-quota-slice-0 - europe-west3--gcd-quota-slice-1 - - europe-west3--gcd-quota-slice-2 state: free type: gcd-quota-slice - names: From d4555808d5c14cb43c1b393a7a47c5a7904d47f3 Mon Sep 17 00:00:00 2001 From: Bruno Cesar Rocha Date: Tue, 23 Jun 2026 10:22:07 +0100 Subject: [PATCH 6/7] Fix Boskos region to u-germany-northeast1 The actual GCD region is u-germany-northeast1, not europe-west3. The Boskos slice prefix becomes LEASED_RESOURCE which is passed as the target region to install steps. Co-Authored-By: Claude Opus 4.6 (1M context) --- core-services/prow/02_config/_boskos.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core-services/prow/02_config/_boskos.yaml b/core-services/prow/02_config/_boskos.yaml index 6e2cb123dcb4e..19152187abc36 100644 --- a/core-services/prow/02_config/_boskos.yaml +++ b/core-services/prow/02_config/_boskos.yaml @@ -4253,8 +4253,8 @@ resources: state: free type: fleet-manager-qe-quota-slice - names: - - europe-west3--gcd-quota-slice-0 - - europe-west3--gcd-quota-slice-1 + - u-germany-northeast1--gcd-quota-slice-0 + - u-germany-northeast1--gcd-quota-slice-1 state: free type: gcd-quota-slice - names: From 1571b536c9292f2464869e3a7dda03ce1a282382 Mon Sep 17 00:00:00 2001 From: Bruno Cesar Rocha Date: Sun, 28 Jun 2026 22:17:22 +0100 Subject: [PATCH 7/7] Add gcd quota slices to generate-boskos.py The _boskos.yaml is generated by generate-boskos.py, not hand-edited. Add gcd-quota-slice config to the generator with 2 slices in the u-germany-northeast1 region, and regenerate. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../cluster-profiles/cluster-profiles-config.yaml | 4 ---- core-services/prow/02_config/generate-boskos.py | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml b/ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml index c3c87d9ea3611..bc91b28301eaf 100644 --- a/ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml +++ b/ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml @@ -1242,10 +1242,6 @@ cluster_profiles: repos: - csi-operator - installer - - org: openshift-priv - repos: - - csi-operator - - installer secret: cluster-secrets-gcd - cluster_type: gcp lease_type: gcp-quota-slice diff --git a/core-services/prow/02_config/generate-boskos.py b/core-services/prow/02_config/generate-boskos.py index 7bfabec1570d9..d3fcb07d74ee4 100755 --- a/core-services/prow/02_config/generate-boskos.py +++ b/core-services/prow/02_config/generate-boskos.py @@ -359,6 +359,9 @@ 'fleet-manager-qe-quota-slice': { 'ap-northeast-1': 3, }, + 'gcd-quota-slice': { + 'u-germany-northeast1': 2, + }, 'gcp-qe-quota-slice': { 'us-central1': 45, },