diff --git a/ci-operator/config/Azure/ARO-HCP/Azure-ARO-HCP-main.yaml b/ci-operator/config/Azure/ARO-HCP/Azure-ARO-HCP-main.yaml index faadf612e502d..e663b7d7daf5b 100644 --- a/ci-operator/config/Azure/ARO-HCP/Azure-ARO-HCP-main.yaml +++ b/ci-operator/config/Azure/ARO-HCP/Azure-ARO-HCP-main.yaml @@ -222,13 +222,6 @@ tests: ARO_HCP_SUITE_NAME: integration/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: int - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-int-quota-slice - - count: 20 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-int workflow: aro-hcp-e2e - always_run: false as: integration-e2e-parallel-ocp-stable @@ -242,13 +235,6 @@ tests: ARO_HCP_SUITE_NAME: integration/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: int - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-int-quota-slice - - count: 20 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-int workflow: aro-hcp-e2e - always_run: false as: integration-e2e-parallel-ocp-fast @@ -262,13 +248,6 @@ tests: ARO_HCP_SUITE_NAME: integration/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: int - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-int-quota-slice - - count: 20 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-int workflow: aro-hcp-e2e - always_run: false as: integration-e2e-parallel-ocp-nightly @@ -282,13 +261,6 @@ tests: ARO_HCP_SUITE_NAME: integration/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: int - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-int-quota-slice - - count: 20 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-int workflow: aro-hcp-e2e - always_run: false as: stage-e2e-parallel @@ -300,13 +272,6 @@ tests: ARO_HCP_SUITE_NAME: stage/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: stg - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-stg-quota-slice - - count: 30 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-stg workflow: aro-hcp-e2e - always_run: false as: stage-e2e-parallel-ocp-stable @@ -320,13 +285,6 @@ tests: ARO_HCP_SUITE_NAME: stage/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: stg - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-stg-quota-slice - - count: 30 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-stg workflow: aro-hcp-e2e - always_run: false as: stage-e2e-parallel-ocp-fast @@ -340,13 +298,6 @@ tests: ARO_HCP_SUITE_NAME: stage/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: stg - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-stg-quota-slice - - count: 30 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-stg workflow: aro-hcp-e2e - always_run: false as: stage-e2e-parallel-ocp-nightly @@ -360,13 +311,6 @@ tests: ARO_HCP_SUITE_NAME: stage/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: stg - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-stg-quota-slice - - count: 30 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-stg workflow: aro-hcp-e2e - always_run: false as: prod-e2e-parallel @@ -378,13 +322,6 @@ tests: ARO_HCP_SUITE_NAME: prod/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: prod - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-prod-quota-slice - - count: 15 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-prod workflow: aro-hcp-e2e - always_run: false as: prod-e2e-parallel-ocp-stable @@ -398,13 +335,6 @@ tests: ARO_HCP_SUITE_NAME: prod/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: prod - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-prod-quota-slice - - count: 15 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-prod workflow: aro-hcp-e2e - always_run: false as: prod-e2e-parallel-ocp-fast @@ -418,13 +348,6 @@ tests: ARO_HCP_SUITE_NAME: prod/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: prod - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-prod-quota-slice - - count: 15 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-prod workflow: aro-hcp-e2e - always_run: false as: prod-e2e-parallel-ocp-nightly @@ -438,40 +361,15 @@ tests: ARO_HCP_SUITE_NAME: prod/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: prod - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-prod-quota-slice - - count: 15 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-prod workflow: aro-hcp-e2e - always_run: true as: e2e-parallel skip_if_only_changed: ^(?:action\.yml|(CODE)?OWNERS(_ALIASES)?|LICENSE|(?:demo|docs)/|(?:generate-repo|generate-tag|get-digest|get-tag-sha|svc-deploy)\.sh|\.(?:bingo|cursor|devcontainer|github|vscode)/|\.(?:ci-operator\.yaml|editorconfig|gitattributes|gitignore|gitguardian\.yaml|gitleaks\.toml|golangci\.yml|mega-linter\.yml|yamlfmt\.yaml|yamllint\.yml)$|.*\.md$)$ - steps: - env: - ARO_HCP_CLOUD: dev - ARO_HCP_DEPLOY_ENV: prow - LOCATION: westus3 - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-dev-quota-slice - workflow: aro-hcp-local-e2e - timeout: 10h0m0s -- always_run: false - as: e2e-parallel-infra-ci01 - optional: true steps: env: ARO_HCP_CLOUD: dev ARO_HCP_DEPLOY_ENV: ci01 LOCATION: westus3 - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-dev-quota-slice workflow: aro-hcp-local-e2e timeout: 10h0m0s - as: global-pipeline-postsubmit diff --git a/ci-operator/config/Azure/ARO-HCP/Azure-ARO-HCP-main__e2e.yaml b/ci-operator/config/Azure/ARO-HCP/Azure-ARO-HCP-main__e2e.yaml index 14f586373959e..8034326096a7e 100644 --- a/ci-operator/config/Azure/ARO-HCP/Azure-ARO-HCP-main__e2e.yaml +++ b/ci-operator/config/Azure/ARO-HCP/Azure-ARO-HCP-main__e2e.yaml @@ -32,13 +32,6 @@ tests: ARO_HCP_SUITE_NAME: integration/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: int - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-int-quota-slice - - count: 20 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-int workflow: aro-hcp-e2e - as: stage-e2e-parallel max_concurrency: 4 @@ -51,13 +44,6 @@ tests: ARO_HCP_SUITE_NAME: stage/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: stg - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-stg-quota-slice - - count: 30 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-stg workflow: aro-hcp-e2e - as: prod-e2e-parallel max_concurrency: 4 @@ -70,13 +56,6 @@ tests: ARO_HCP_SUITE_NAME: prod/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: prod - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-prod-quota-slice - - count: 15 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-prod workflow: aro-hcp-e2e zz_generated_metadata: branch: main diff --git a/ci-operator/config/Azure/ARO-HCP/Azure-ARO-HCP-main__periodic.yaml b/ci-operator/config/Azure/ARO-HCP/Azure-ARO-HCP-main__periodic.yaml index 349c42a5d8e17..c75e2d9d3a9d8 100644 --- a/ci-operator/config/Azure/ARO-HCP/Azure-ARO-HCP-main__periodic.yaml +++ b/ci-operator/config/Azure/ARO-HCP/Azure-ARO-HCP-main__periodic.yaml @@ -22,13 +22,6 @@ tests: ARO_HCP_SUITE_NAME: integration/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: int - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-int-quota-slice - - count: 20 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-int workflow: aro-hcp-e2e timeout: 4h0m0s - as: stage-e2e-parallel @@ -40,13 +33,6 @@ tests: ARO_HCP_SUITE_NAME: stage/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: stg - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-stg-quota-slice - - count: 30 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-stg workflow: aro-hcp-e2e timeout: 4h0m0s - as: stage-e2e-parallel-ocp-nightly @@ -60,13 +46,6 @@ tests: ARO_HCP_SUITE_NAME: stage/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: stg - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-stg-quota-slice - - count: 30 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-stg workflow: aro-hcp-e2e - as: prod-e2e-parallel cron: 0 2 * * * @@ -77,13 +56,6 @@ tests: ARO_HCP_SUITE_NAME: prod/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: prod - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-prod-quota-slice - - count: 15 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-prod workflow: aro-hcp-e2e timeout: 4h0m0s - as: prod-e2e-parallel-ocp-nightly @@ -97,13 +69,6 @@ tests: ARO_HCP_SUITE_NAME: prod/parallel LOCATION: uksouth VAULT_SECRET_PROFILE: prod - leases: - - count: 1 - env: ENV_QUOTA_LEASED_RESOURCE - resource_type: aro-hcp-prod-quota-slice - - count: 15 - env: LEASED_MSI_CONTAINERS - resource_type: aro-hcp-test-msi-containers-prod workflow: aro-hcp-e2e zz_generated_metadata: branch: main diff --git a/ci-operator/jobs/Azure/ARO-HCP/Azure-ARO-HCP-main-presubmits.yaml b/ci-operator/jobs/Azure/ARO-HCP/Azure-ARO-HCP-main-presubmits.yaml index e8241311bfd36..6821f8e46616d 100644 --- a/ci-operator/jobs/Azure/ARO-HCP/Azure-ARO-HCP-main-presubmits.yaml +++ b/ci-operator/jobs/Azure/ARO-HCP/Azure-ARO-HCP-main-presubmits.yaml @@ -409,81 +409,6 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )e2e-parallel,?($|\s.*) - - agent: kubernetes - always_run: false - branches: - - ^main$ - - ^main- - cluster: build05 - context: ci/prow/e2e-parallel-infra-ci01 - decorate: true - decoration_config: - skip_cloning: true - timeout: 10h0m0s - labels: - ci.openshift.io/generator: prowgen - pj-rehearse.openshift.io/can-be-rehearsed: "true" - name: pull-ci-Azure-ARO-HCP-main-e2e-parallel-infra-ci01 - optional: true - rerun_command: /test e2e-parallel-infra-ci01 - spec: - containers: - - args: - - --gcs-upload-secret=/secrets/gcs/service-account.json - - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson - - --lease-server-credentials-file=/etc/boskos/credentials - - --report-credentials-file=/etc/report/credentials - - --target=e2e-parallel-infra-ci01 - command: - - ci-operator - env: - - name: HTTP_SERVER_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest - imagePullPolicy: Always - name: "" - ports: - - containerPort: 8080 - name: http - resources: - requests: - cpu: 10m - volumeMounts: - - mountPath: /etc/boskos - name: boskos - readOnly: true - - mountPath: /secrets/gcs - name: gcs-credentials - readOnly: true - - mountPath: /secrets/manifest-tool - name: manifest-tool-local-pusher - readOnly: true - - mountPath: /etc/pull-secret - name: pull-secret - readOnly: true - - mountPath: /etc/report - name: result-aggregator - readOnly: true - serviceAccountName: ci-operator - volumes: - - name: boskos - secret: - items: - - key: credentials - path: credentials - secretName: boskos-credentials - - name: manifest-tool-local-pusher - secret: - secretName: manifest-tool-local-pusher - - name: pull-secret - secret: - secretName: registry-pull-credentials - - name: result-aggregator - secret: - secretName: result-aggregator - trigger: (?m)^/test( | .* )e2e-parallel-infra-ci01,?($|\s.*) - agent: kubernetes always_run: true branches: diff --git a/ci-operator/step-registry/aro-hcp/e2e/aro-hcp-e2e-workflow.yaml b/ci-operator/step-registry/aro-hcp/e2e/aro-hcp-e2e-workflow.yaml index d16ee1cff7172..c904823490dee 100644 --- a/ci-operator/step-registry/aro-hcp/e2e/aro-hcp-e2e-workflow.yaml +++ b/ci-operator/step-registry/aro-hcp/e2e/aro-hcp-e2e-workflow.yaml @@ -3,10 +3,12 @@ workflow: steps: allow_best_effort_post_steps: true pre: + - ref: aro-hcp-lease-acquire - ref: aro-hcp-write-config test: - ref: aro-hcp-test-persistent post: + - ref: aro-hcp-lease-release - ref: aro-hcp-gather-test-visualization - ref: aro-hcp-gather-custom-link-tools documentation: |- diff --git a/ci-operator/step-registry/aro-hcp/gather/observability/aro-hcp-gather-observability-ref.yaml b/ci-operator/step-registry/aro-hcp/gather/observability/aro-hcp-gather-observability-ref.yaml index bc3a5a01c20d8..fc4638c4e8567 100644 --- a/ci-operator/step-registry/aro-hcp/gather/observability/aro-hcp-gather-observability-ref.yaml +++ b/ci-operator/step-registry/aro-hcp/gather/observability/aro-hcp-gather-observability-ref.yaml @@ -14,12 +14,16 @@ ref: - name: VAULT_SECRET_PROFILE default: "dev" documentation: |- - Selects which environment's cluster secrets to use (dev, int, stg, prod). + Selects which environment's cluster secrets to use. + This gather step is "dev cloud" only because it needs access to + infrastructure subscriptions that are not reachable from INT/STG/PROD + customer-scoped jobs. - name: ARO_HCP_DEPLOY_ENV default: "prow" documentation: |- - Config environment name. Also used to select the infrastructure - subscription from Vault (infra-{ARO_HCP_DEPLOY_ENV}-subscription-id). + Dev-cloud config environment name. Used to select the infrastructure + subscription from Vault (infra-{ARO_HCP_DEPLOY_ENV}-subscription-id) + for this "dev cloud" only gather step. - name: COMPRESS_TIMING_METADATA default: "true" documentation: Whether to compress timing metadata files with gzip. diff --git a/ci-operator/step-registry/aro-hcp/gather/provision-failure/aro-hcp-gather-provision-failure-ref.yaml b/ci-operator/step-registry/aro-hcp/gather/provision-failure/aro-hcp-gather-provision-failure-ref.yaml index 19e88f95f49cb..3f6adc956da0a 100644 --- a/ci-operator/step-registry/aro-hcp/gather/provision-failure/aro-hcp-gather-provision-failure-ref.yaml +++ b/ci-operator/step-registry/aro-hcp/gather/provision-failure/aro-hcp-gather-provision-failure-ref.yaml @@ -14,11 +14,15 @@ ref: - name: VAULT_SECRET_PROFILE default: "dev" documentation: |- - Selects which environment's cluster secrets to use (dev, int, stg, prod). + Selects which environment's cluster secrets to use. + This gather step is "dev cloud" only because it needs access to + infrastructure subscriptions that are not reachable from INT/STG/PROD + customer-scoped jobs. - name: ARO_HCP_DEPLOY_ENV default: "prow" documentation: |- - Config environment name. Also used to select the infrastructure - subscription from Vault (infra-{ARO_HCP_DEPLOY_ENV}-subscription-id). + Dev-cloud config environment name. Used to select the infrastructure + subscription from Vault (infra-{ARO_HCP_DEPLOY_ENV}-subscription-id) + for this "dev cloud" only gather step. best_effort: true timeout: 5m diff --git a/ci-operator/step-registry/aro-hcp/gather/snapshot/aro-hcp-gather-snapshot-commands.sh b/ci-operator/step-registry/aro-hcp/gather/snapshot/aro-hcp-gather-snapshot-commands.sh index 012c6708e7a8d..601dd7ba8c4cb 100644 --- a/ci-operator/step-registry/aro-hcp/gather/snapshot/aro-hcp-gather-snapshot-commands.sh +++ b/ci-operator/step-registry/aro-hcp/gather/snapshot/aro-hcp-gather-snapshot-commands.sh @@ -15,11 +15,10 @@ export CLUSTER_PROFILE_DIR="/var/run/aro-hcp-${VAULT_SECRET_PROFILE}" export AZURE_CLIENT_ID; AZURE_CLIENT_ID=$(cat "${CLUSTER_PROFILE_DIR}/client-id") export AZURE_TENANT_ID; AZURE_TENANT_ID=$(cat "${CLUSTER_PROFILE_DIR}/tenant") export AZURE_CLIENT_SECRET; AZURE_CLIENT_SECRET=$(cat "${CLUSTER_PROFILE_DIR}/client-secret") -export INFRA_SUBSCRIPTION_ID; INFRA_SUBSCRIPTION_ID=$(cat "${CLUSTER_PROFILE_DIR}/infra-${ARO_HCP_DEPLOY_ENV}-subscription-id") -export DEPLOY_ENV="${ARO_HCP_DEPLOY_ENV}" +export GLOBAL_INFRA_SUBSCRIPTION_ID; GLOBAL_INFRA_SUBSCRIPTION_ID=$(cat "${CLUSTER_PROFILE_DIR}/infra-global-subscription-id") az login --service-principal -u "${AZURE_CLIENT_ID}" -p "${AZURE_CLIENT_SECRET}" --tenant "${AZURE_TENANT_ID}" --output none -az account set --subscription "${INFRA_SUBSCRIPTION_ID}" +az account set --subscription "${GLOBAL_INFRA_SUBSCRIPTION_ID}" export AZURE_TOKEN_CREDENTIALS=prod test/aro-hcp-tests gather-snapshot \ diff --git a/ci-operator/step-registry/aro-hcp/gather/snapshot/aro-hcp-gather-snapshot-ref.yaml b/ci-operator/step-registry/aro-hcp/gather/snapshot/aro-hcp-gather-snapshot-ref.yaml index 5b4e01abe3104..e65a9fee6b5bb 100644 --- a/ci-operator/step-registry/aro-hcp/gather/snapshot/aro-hcp-gather-snapshot-ref.yaml +++ b/ci-operator/step-registry/aro-hcp/gather/snapshot/aro-hcp-gather-snapshot-ref.yaml @@ -14,12 +14,10 @@ ref: - name: VAULT_SECRET_PROFILE default: "dev" documentation: |- - Selects which environment's cluster secrets to use (dev, int, stg, prod). - - name: ARO_HCP_DEPLOY_ENV - default: "prow" - documentation: |- - Config environment name. Also used to select the infrastructure - subscription from Vault (infra-{ARO_HCP_DEPLOY_ENV}-subscription-id). + Selects which environment's cluster secrets to use. + This gather step is "dev cloud" only because it needs access to shared + infrastructure subscriptions that are not reachable from INT/STG/PROD + customer-scoped jobs. - name: COMPRESS_TIMING_METADATA default: "true" documentation: Whether to compress timing metadata files with gzip. diff --git a/ci-operator/step-registry/aro-hcp/lease/acquire/OWNERS b/ci-operator/step-registry/aro-hcp/lease/acquire/OWNERS new file mode 100644 index 0000000000000..09d7042add198 --- /dev/null +++ b/ci-operator/step-registry/aro-hcp/lease/acquire/OWNERS @@ -0,0 +1,14 @@ +approvers: +- geoberle +- mmazur +- raelga +- roivaz +- venkateshsredhat +- deads2k +reviewers: +- geoberle +- mmazur +- raelga +- roivaz +- venkateshsredhat +- deads2k diff --git a/ci-operator/step-registry/aro-hcp/lease/acquire/aro-hcp-lease-acquire-commands.sh b/ci-operator/step-registry/aro-hcp/lease/acquire/aro-hcp-lease-acquire-commands.sh new file mode 100644 index 0000000000000..40a6ea93655fe --- /dev/null +++ b/ci-operator/step-registry/aro-hcp/lease/acquire/aro-hcp-lease-acquire-commands.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -o errexit +set -o nounset +set -o pipefail + +source ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-commands.sh + +export CLUSTER_PROFILE_DIR="/var/run/aro-hcp-${VAULT_SECRET_PROFILE}" + +aro_hcp_lease::run_slot_manager acquire --deploy-env "${ARO_HCP_DEPLOY_ENV}" --shared-dir "${SHARED_DIR}" diff --git a/ci-operator/step-registry/aro-hcp/lease/acquire/aro-hcp-lease-acquire-ref.metadata.json b/ci-operator/step-registry/aro-hcp/lease/acquire/aro-hcp-lease-acquire-ref.metadata.json new file mode 100644 index 0000000000000..756adf1f8044d --- /dev/null +++ b/ci-operator/step-registry/aro-hcp/lease/acquire/aro-hcp-lease-acquire-ref.metadata.json @@ -0,0 +1,21 @@ +{ + "path": "aro-hcp/lease/acquire/aro-hcp-lease-acquire-ref.yaml", + "owners": { + "approvers": [ + "geoberle", + "mmazur", + "raelga", + "roivaz", + "venkateshsredhat", + "deads2k" + ], + "reviewers": [ + "geoberle", + "mmazur", + "raelga", + "roivaz", + "venkateshsredhat", + "deads2k" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/aro-hcp/lease/acquire/aro-hcp-lease-acquire-ref.yaml b/ci-operator/step-registry/aro-hcp/lease/acquire/aro-hcp-lease-acquire-ref.yaml new file mode 100644 index 0000000000000..8d13a48d55834 --- /dev/null +++ b/ci-operator/step-registry/aro-hcp/lease/acquire/aro-hcp-lease-acquire-ref.yaml @@ -0,0 +1,49 @@ +ref: + as: aro-hcp-lease-acquire + from: aro-hcp-e2e-tests + commands: aro-hcp-lease-acquire-commands.sh + grace_period: 15s + credentials: + - namespace: test-credentials + name: cluster-secrets-aro-hcp-dev + mount_path: /var/run/aro-hcp-dev + - namespace: test-credentials + name: cluster-secrets-aro-hcp-int + mount_path: /var/run/aro-hcp-int + - namespace: test-credentials + name: cluster-secrets-aro-hcp-stg + mount_path: /var/run/aro-hcp-stg + - namespace: test-credentials + name: cluster-secrets-aro-hcp-prod + mount_path: /var/run/aro-hcp-prod + resources: + requests: + cpu: 10m + memory: 100Mi + env: + - name: VAULT_SECRET_PROFILE + default: "dev" + documentation: |- + Selects which environment's cluster secrets to use (dev, int, stg, prod). + - name: LOCATION + default: "" + documentation: |- + Preferred Azure region for slot selection (for example, "uksouth"). + - name: MULTISTAGE_PARAM_OVERRIDE_LOCATION + default: "" + documentation: |- + Overrides LOCATION via Gangway API when selecting the runtime slot. + - name: ARO_HCP_DEPLOY_ENV + default: "" + documentation: Config environment name (prow, ci01, int, stg, prod). + - name: ARO_HCP_SLOT_MANAGER_GIT_REF + default: "" + documentation: |- + Temporary opt-in override for release-side rehearsals. When set, + the lease step fetches this ref from github.com/Azure/ARO-HCP and + runs `slot-manager` via `go run` instead of the built binary. + Normal ARO-HCP PR jobs should leave this unset because the + `aro-hcp-e2e-tests` image is already built from the PR source. + documentation: |- + Acquire the runtime Boskos leases required by ARO HCP E2E workflows and + persist the runtime slot env contract into SHARED_DIR for later steps. diff --git a/ci-operator/step-registry/aro-hcp/lease/common/OWNERS b/ci-operator/step-registry/aro-hcp/lease/common/OWNERS new file mode 100644 index 0000000000000..09d7042add198 --- /dev/null +++ b/ci-operator/step-registry/aro-hcp/lease/common/OWNERS @@ -0,0 +1,14 @@ +approvers: +- geoberle +- mmazur +- raelga +- roivaz +- venkateshsredhat +- deads2k +reviewers: +- geoberle +- mmazur +- raelga +- roivaz +- venkateshsredhat +- deads2k diff --git a/ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-commands.sh b/ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-commands.sh new file mode 100644 index 0000000000000..5b65e602982ed --- /dev/null +++ b/ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-commands.sh @@ -0,0 +1,115 @@ +#!/bin/bash + +# Temporary release-side rehearsal path for unmerged slot-manager changes. +# Remove once the slot-manager branch is merged and the standard image path is enough again. +readonly ARO_HCP_SLOT_MANAGER_DEFAULT_GIT_REMOTE="https://github.com/Azure/ARO-HCP" + +function aro_hcp_lease::env_file() { + if [[ -z "${SHARED_DIR:-}" ]]; then + printf '$SHARED_DIR is empty\n' >&2 + return 1 + fi + + printf '%s/aro-hcp-slot-env.sh' "$SHARED_DIR" +} + +function aro_hcp_lease::source_env_exports() { + local env_file + env_file=$(aro_hcp_lease::env_file) || return 1 + + if [[ ! -f "$env_file" ]]; then + printf 'Missing runtime lease export file: %s\n' "$env_file" >&2 + return 1 + fi + + # shellcheck disable=SC1090 + source "$env_file" +} + +function aro_hcp_lease::prepare_slot_manager_checkout() { + local git_ref temp_dir repo_dir + git_ref="$1" + temp_dir="$2" + repo_dir="${temp_dir}/ARO-HCP" + + printf 'Using slot-manager override ref %s from %s\n' "${git_ref}" "${ARO_HCP_SLOT_MANAGER_DEFAULT_GIT_REMOTE}" >&2 + + git init --quiet "${repo_dir}" + git -C "${repo_dir}" remote add origin "${ARO_HCP_SLOT_MANAGER_DEFAULT_GIT_REMOTE}" + git -C "${repo_dir}" fetch --depth=1 origin "${git_ref}" + git -C "${repo_dir}" checkout --detach --quiet FETCH_HEAD + + printf '%s\n' "${repo_dir}" +} + +function aro_hcp_lease::create_slot_manager_temp_dir() { + local base_dir temp_dir + base_dir="${PWD}" + if [[ ! -w "${base_dir}" ]]; then + printf 'Current working directory is not writable: %s\n' "${base_dir}" >&2 + return 1 + fi + + temp_dir=$(mktemp -d "${base_dir}/.aro-hcp-slot-manager.XXXXXX") + if [[ -z "${temp_dir}" ]]; then + printf 'Failed to create workspace-local temp dir for slot-manager override\n' >&2 + return 1 + fi + + printf '%s\n' "${temp_dir}" +} + +function aro_hcp_lease::cleanup_slot_manager_temp_dir() { + local temp_dir + temp_dir="$1" + if [[ -z "${temp_dir}" || ! -e "${temp_dir}" ]]; then + return 0 + fi + + chmod -R u+w "${temp_dir}" 2>/dev/null || true + rm -rf "${temp_dir}" +} + +function aro_hcp_lease::run_slot_manager() { + local subcommand temp_dir repo_dir go_path go_cache go_tmp_dir + subcommand="$1" + shift + + if [[ -z "${ARO_HCP_SLOT_MANAGER_GIT_REF:-}" ]]; then + ./test/aro-hcp-tests slot-manager "${subcommand}" "$@" + return + fi + + if ! temp_dir=$(aro_hcp_lease::create_slot_manager_temp_dir); then + return 1 + fi + + if ! repo_dir=$(aro_hcp_lease::prepare_slot_manager_checkout "${ARO_HCP_SLOT_MANAGER_GIT_REF}" "${temp_dir}"); then + aro_hcp_lease::cleanup_slot_manager_temp_dir "${temp_dir}" + return 1 + fi + + go_path="${temp_dir}/go" + go_cache="${temp_dir}/gocache" + go_tmp_dir="${temp_dir}/gotmp" + mkdir -p "${go_path}" "${go_cache}" "${go_tmp_dir}" + + ( + cd "${repo_dir}" + export GOPATH="${go_path}" + export GOCACHE="${go_cache}" + export GOMODCACHE="${go_path}/pkg/mod" + export GOTMPDIR="${go_tmp_dir}" + export TMPDIR="${go_tmp_dir}" + export TMP="${go_tmp_dir}" + export TEMP="${go_tmp_dir}" + case " ${GOFLAGS:-} " in + *" -modcacherw "*) ;; + *) export GOFLAGS="${GOFLAGS:+${GOFLAGS} }-modcacherw" ;; + esac + go run ./test/cmd/aro-hcp-tests slot-manager "${subcommand}" "$@" + ) + local rc=$? + aro_hcp_lease::cleanup_slot_manager_temp_dir "${temp_dir}" + return "${rc}" +} diff --git a/ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-ref.metadata.json b/ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-ref.metadata.json new file mode 100644 index 0000000000000..a15a8749858d2 --- /dev/null +++ b/ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-ref.metadata.json @@ -0,0 +1,21 @@ +{ + "path": "aro-hcp/lease/common/aro-hcp-lease-common-ref.yaml", + "owners": { + "approvers": [ + "geoberle", + "mmazur", + "raelga", + "roivaz", + "venkateshsredhat", + "deads2k" + ], + "reviewers": [ + "geoberle", + "mmazur", + "raelga", + "roivaz", + "venkateshsredhat", + "deads2k" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-ref.yaml b/ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-ref.yaml new file mode 100644 index 0000000000000..6ec3c4303a839 --- /dev/null +++ b/ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-ref.yaml @@ -0,0 +1,10 @@ +ref: + as: aro-hcp-lease-common + from: aro-hcp-e2e-tests + commands: aro-hcp-lease-common-commands.sh + resources: + requests: + cpu: 10m + memory: 100Mi + documentation: |- + Shared shell helpers for ARO HCP runtime lease acquisition and release. diff --git a/ci-operator/step-registry/aro-hcp/lease/release/OWNERS b/ci-operator/step-registry/aro-hcp/lease/release/OWNERS new file mode 100644 index 0000000000000..09d7042add198 --- /dev/null +++ b/ci-operator/step-registry/aro-hcp/lease/release/OWNERS @@ -0,0 +1,14 @@ +approvers: +- geoberle +- mmazur +- raelga +- roivaz +- venkateshsredhat +- deads2k +reviewers: +- geoberle +- mmazur +- raelga +- roivaz +- venkateshsredhat +- deads2k diff --git a/ci-operator/step-registry/aro-hcp/lease/release/aro-hcp-lease-release-commands.sh b/ci-operator/step-registry/aro-hcp/lease/release/aro-hcp-lease-release-commands.sh new file mode 100644 index 0000000000000..b72dbe63bcb78 --- /dev/null +++ b/ci-operator/step-registry/aro-hcp/lease/release/aro-hcp-lease-release-commands.sh @@ -0,0 +1,8 @@ +#!/bin/bash +set -o errexit +set -o nounset +set -o pipefail + +source ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-commands.sh + +aro_hcp_lease::run_slot_manager release --shared-dir "${SHARED_DIR}" diff --git a/ci-operator/step-registry/aro-hcp/lease/release/aro-hcp-lease-release-ref.metadata.json b/ci-operator/step-registry/aro-hcp/lease/release/aro-hcp-lease-release-ref.metadata.json new file mode 100644 index 0000000000000..42ded4fe4d6c1 --- /dev/null +++ b/ci-operator/step-registry/aro-hcp/lease/release/aro-hcp-lease-release-ref.metadata.json @@ -0,0 +1,21 @@ +{ + "path": "aro-hcp/lease/release/aro-hcp-lease-release-ref.yaml", + "owners": { + "approvers": [ + "geoberle", + "mmazur", + "raelga", + "roivaz", + "venkateshsredhat", + "deads2k" + ], + "reviewers": [ + "geoberle", + "mmazur", + "raelga", + "roivaz", + "venkateshsredhat", + "deads2k" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/aro-hcp/lease/release/aro-hcp-lease-release-ref.yaml b/ci-operator/step-registry/aro-hcp/lease/release/aro-hcp-lease-release-ref.yaml new file mode 100644 index 0000000000000..1ff671bfbf49e --- /dev/null +++ b/ci-operator/step-registry/aro-hcp/lease/release/aro-hcp-lease-release-ref.yaml @@ -0,0 +1,19 @@ +ref: + as: aro-hcp-lease-release + from: aro-hcp-e2e-tests + commands: aro-hcp-lease-release-commands.sh + resources: + requests: + cpu: 10m + memory: 100Mi + env: + - name: ARO_HCP_SLOT_MANAGER_GIT_REF + default: "" + documentation: |- + Temporary opt-in override for release-side rehearsals. When set, + the lease step fetches this ref from github.com/Azure/ARO-HCP and + runs `slot-manager` via `go run` instead of the built binary. + Normal ARO-HCP PR jobs should leave this unset because the + `aro-hcp-e2e-tests` image is already built from the PR source. + documentation: |- + Release the runtime Boskos leases acquired for an ARO HCP E2E workflow. diff --git a/ci-operator/step-registry/aro-hcp/local-e2e/aro-hcp-local-e2e-workflow.yaml b/ci-operator/step-registry/aro-hcp/local-e2e/aro-hcp-local-e2e-workflow.yaml index 206c8f9c92c1b..b58b88df9709b 100644 --- a/ci-operator/step-registry/aro-hcp/local-e2e/aro-hcp-local-e2e-workflow.yaml +++ b/ci-operator/step-registry/aro-hcp/local-e2e/aro-hcp-local-e2e-workflow.yaml @@ -2,14 +2,8 @@ workflow: as: aro-hcp-local-e2e steps: allow_best_effort_post_steps: true - leases: - - resource_type: aro-hcp-test-msi-containers-dev - env: LEASED_MSI_CONTAINERS - count: 20 - - resource_type: aro-hcp-msi-mock-cs-sp-dev - env: LEASED_MSI_MOCK_SP - count: 1 pre: + - ref: aro-hcp-lease-acquire - ref: aro-hcp-write-config - ref: aro-hcp-provision-environment test: @@ -22,5 +16,6 @@ workflow: - ref: aro-hcp-gather-observability - ref: aro-hcp-gather-snapshot - ref: aro-hcp-deprovision-environment + - ref: aro-hcp-lease-release documentation: |- The local ARO HCP e2e workflow starts an ARO HCP environment and runs the full end-to-end suite against it. diff --git a/ci-operator/step-registry/aro-hcp/provision/environment/aro-hcp-provision-environment-commands.sh b/ci-operator/step-registry/aro-hcp/provision/environment/aro-hcp-provision-environment-commands.sh index 8ee3019a73f45..ffd918f32052b 100644 --- a/ci-operator/step-registry/aro-hcp/provision/environment/aro-hcp-provision-environment-commands.sh +++ b/ci-operator/step-registry/aro-hcp/provision/environment/aro-hcp-provision-environment-commands.sh @@ -3,6 +3,9 @@ set -o errexit set -o nounset set -o pipefail +source ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-commands.sh +aro_hcp_lease::source_env_exports + export CLUSTER_PROFILE_DIR="/var/run/aro-hcp-${VAULT_SECRET_PROFILE}" export AZURE_CLIENT_ID; AZURE_CLIENT_ID=$(cat "${CLUSTER_PROFILE_DIR}/client-id") diff --git a/ci-operator/step-registry/aro-hcp/provision/environment/aro-hcp-provision-environment-ref.yaml b/ci-operator/step-registry/aro-hcp/provision/environment/aro-hcp-provision-environment-ref.yaml index 4c19119b396f5..b775c0cfc7695 100644 --- a/ci-operator/step-registry/aro-hcp/provision/environment/aro-hcp-provision-environment-ref.yaml +++ b/ci-operator/step-registry/aro-hcp/provision/environment/aro-hcp-provision-environment-ref.yaml @@ -3,6 +3,9 @@ ref: from: aro-hcp-e2e-tools commands: aro-hcp-provision-environment-commands.sh grace_period: 15s + leases: + - resource_type: aro-hcp-msi-mock-cs-sp-dev + env: LEASED_MSI_MOCK_SP resources: requests: cpu: 1000m diff --git a/ci-operator/step-registry/aro-hcp/test/local/aro-hcp-test-local-commands.sh b/ci-operator/step-registry/aro-hcp/test/local/aro-hcp-test-local-commands.sh index 6042757b59787..6ea35251bb3fb 100644 --- a/ci-operator/step-registry/aro-hcp/test/local/aro-hcp-test-local-commands.sh +++ b/ci-operator/step-registry/aro-hcp/test/local/aro-hcp-test-local-commands.sh @@ -3,12 +3,14 @@ set -o errexit set -o nounset set -o pipefail +source ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-commands.sh +aro_hcp_lease::source_env_exports + export CLUSTER_PROFILE_DIR="/var/run/aro-hcp-${VAULT_SECRET_PROFILE}" export AZURE_CLIENT_ID; AZURE_CLIENT_ID=$(cat "${CLUSTER_PROFILE_DIR}/client-id") export AZURE_TENANT_ID; AZURE_TENANT_ID=$(cat "${CLUSTER_PROFILE_DIR}/tenant") export AZURE_CLIENT_SECRET; AZURE_CLIENT_SECRET=$(cat "${CLUSTER_PROFILE_DIR}/client-secret") -export CUSTOMER_SUBSCRIPTION; CUSTOMER_SUBSCRIPTION=$(cat "${CLUSTER_PROFILE_DIR}/subscription-name") export INFRA_SUBSCRIPTION_ID; INFRA_SUBSCRIPTION_ID=$(cat "${CLUSTER_PROFILE_DIR}/infra-${ARO_HCP_DEPLOY_ENV}-subscription-id") export DEPLOY_ENV="${ARO_HCP_DEPLOY_ENV}" diff --git a/ci-operator/step-registry/aro-hcp/test/persistent/aro-hcp-test-persistent-commands.sh b/ci-operator/step-registry/aro-hcp/test/persistent/aro-hcp-test-persistent-commands.sh index e8a2a9d03f07b..0eceee49206f5 100644 --- a/ci-operator/step-registry/aro-hcp/test/persistent/aro-hcp-test-persistent-commands.sh +++ b/ci-operator/step-registry/aro-hcp/test/persistent/aro-hcp-test-persistent-commands.sh @@ -4,20 +4,17 @@ set -o nounset set -o pipefail set -o xtrace +source ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-commands.sh +aro_hcp_lease::source_env_exports + export CLUSTER_PROFILE_DIR="/var/run/aro-hcp-${VAULT_SECRET_PROFILE}" export AZURE_CLIENT_ID; AZURE_CLIENT_ID=$(cat "${CLUSTER_PROFILE_DIR}/client-id") export AZURE_TENANT_ID; AZURE_TENANT_ID=$(cat "${CLUSTER_PROFILE_DIR}/tenant") export AZURE_CLIENT_SECRET; AZURE_CLIENT_SECRET=$(cat "${CLUSTER_PROFILE_DIR}/client-secret") -export CUSTOMER_SUBSCRIPTION; CUSTOMER_SUBSCRIPTION=$(cat "${CLUSTER_PROFILE_DIR}/subscription-name") -export SUBSCRIPTION_ID; SUBSCRIPTION_ID=$(cat "${CLUSTER_PROFILE_DIR}/subscription-id") export AZURE_TOKEN_CREDENTIALS=prod az login --service-principal -u "${AZURE_CLIENT_ID}" -p "${AZURE_CLIENT_SECRET}" --tenant "${AZURE_TENANT_ID}" --output none -az account set --subscription "${SUBSCRIPTION_ID}" - -if [[ -n "${MULTISTAGE_PARAM_OVERRIDE_LOCATION:-}" ]]; then - export LOCATION="${MULTISTAGE_PARAM_OVERRIDE_LOCATION}" -fi +az account set --subscription "${CUSTOMER_SUBSCRIPTION}" ./test/aro-hcp-tests run-suite "${ARO_HCP_SUITE_NAME}" --junit-path="${ARTIFACT_DIR}/junit.xml" --html-path="${ARTIFACT_DIR}/extension-test-result-summary.html" --max-concurrency 100 diff --git a/ci-operator/step-registry/aro-hcp/write-config/aro-hcp-write-config-commands.sh b/ci-operator/step-registry/aro-hcp/write-config/aro-hcp-write-config-commands.sh index 2c62c7b31176f..f2faee33af326 100755 --- a/ci-operator/step-registry/aro-hcp/write-config/aro-hcp-write-config-commands.sh +++ b/ci-operator/step-registry/aro-hcp/write-config/aro-hcp-write-config-commands.sh @@ -3,9 +3,8 @@ set -o errexit set -o nounset set -o pipefail -if [[ -n "${MULTISTAGE_PARAM_OVERRIDE_LOCATION:-}" ]]; then - export LOCATION="${MULTISTAGE_PARAM_OVERRIDE_LOCATION}" -fi +source ci-operator/step-registry/aro-hcp/lease/common/aro-hcp-lease-common-commands.sh +aro_hcp_lease::source_env_exports export AZURE_TOKEN_CREDENTIALS=prod diff --git a/ci-operator/step-registry/aro-hcp/write-config/aro-hcp-write-config-ref.yaml b/ci-operator/step-registry/aro-hcp/write-config/aro-hcp-write-config-ref.yaml index 2f5e3dd0fb0b1..a5ff3afbf9347 100644 --- a/ci-operator/step-registry/aro-hcp/write-config/aro-hcp-write-config-ref.yaml +++ b/ci-operator/step-registry/aro-hcp/write-config/aro-hcp-write-config-ref.yaml @@ -7,12 +7,6 @@ ref: cpu: 10m memory: 100Mi env: - - name: LOCATION - default: "" - documentation: Azure region (e.g. "uksouth"). - - name: MULTISTAGE_PARAM_OVERRIDE_LOCATION - default: "" - documentation: Overrides LOCATION via Gangway API. - name: ARO_HCP_CLOUD default: "" documentation: Config cloud name (dev, public). @@ -21,5 +15,6 @@ ref: documentation: Config environment name (prow, int, stg, prod). timeout: 5m documentation: |- - Render config.yaml to SHARED_DIR using templatize configuration render. + Render config.yaml to SHARED_DIR using the leased slot LOCATION and + templatize configuration render. Note: The rendered config is only partially accurate and won't always reflect the full production configuration. diff --git a/core-services/prow/02_config/_boskos.yaml b/core-services/prow/02_config/_boskos.yaml index 55b8e2e7138f8..b831a2ae8d0cb 100644 --- a/core-services/prow/02_config/_boskos.yaml +++ b/core-services/prow/02_config/_boskos.yaml @@ -71,10 +71,32 @@ resources: min-count: 15 state: free type: aro-hcp-dev-quota-slice +- names: + - aro-hcp-dev-westus3-slot-00 + - aro-hcp-dev-westus3-slot-01 + - aro-hcp-dev-westus3-slot-02 + - aro-hcp-dev-westus3-slot-03 + - aro-hcp-dev-westus3-slot-04 + - aro-hcp-dev-westus3-slot-05 + - aro-hcp-dev-westus3-slot-06 + - aro-hcp-dev-westus3-slot-07 + - aro-hcp-dev-westus3-slot-08 + - aro-hcp-dev-westus3-slot-09 + - aro-hcp-dev-westus3-slot-10 + - aro-hcp-dev-westus3-slot-11 + - aro-hcp-dev-westus3-slot-12 + - aro-hcp-dev-westus3-slot-13 + - aro-hcp-dev-westus3-slot-14 + state: free + type: aro-hcp-dev-westus3-slot - max-count: 1 min-count: 1 state: free type: aro-hcp-int-quota-slice +- names: + - aro-hcp-int-uksouth-slot-00 + state: free + type: aro-hcp-int-uksouth-slot - names: - aro-hcp-msi-mock-cs-sp-dev-0 - aro-hcp-msi-mock-cs-sp-dev-1 @@ -102,10 +124,27 @@ resources: min-count: 10 state: free type: aro-hcp-prod-quota-slice +- names: + - aro-hcp-prod-uksouth-slot-00 + - aro-hcp-prod-uksouth-slot-01 + - aro-hcp-prod-uksouth-slot-02 + - aro-hcp-prod-uksouth-slot-03 + - aro-hcp-prod-uksouth-slot-04 + - aro-hcp-prod-uksouth-slot-05 + - aro-hcp-prod-uksouth-slot-06 + - aro-hcp-prod-uksouth-slot-07 + - aro-hcp-prod-uksouth-slot-08 + - aro-hcp-prod-uksouth-slot-09 + state: free + type: aro-hcp-prod-uksouth-slot - max-count: 1 min-count: 1 state: free type: aro-hcp-stg-quota-slice +- names: + - aro-hcp-stg-uksouth-slot-00 + state: free + type: aro-hcp-stg-uksouth-slot - names: - aro-hcp-test-msi-containers-dev-0 - aro-hcp-test-msi-containers-dev-1 diff --git a/core-services/prow/02_config/generate-boskos.py b/core-services/prow/02_config/generate-boskos.py index dd87cfb877d0b..cc317fd120747 100755 --- a/core-services/prow/02_config/generate-boskos.py +++ b/core-services/prow/02_config/generate-boskos.py @@ -301,6 +301,12 @@ 'aro-hcp-test-msi-containers-int': {}, 'aro-hcp-test-msi-containers-stg': {}, 'aro-hcp-test-msi-containers-prod': {}, + # BEGIN ARO-HCP E2E SLOT TYPES + 'aro-hcp-dev-westus3-slot': {}, + 'aro-hcp-int-uksouth-slot': {}, + 'aro-hcp-prod-uksouth-slot': {}, + 'aro-hcp-stg-uksouth-slot': {}, + # END ARO-HCP E2E SLOT TYPES 'aro-hcp-msi-mock-cs-sp-dev': {}, 'equinix-ocp-metal-quota-slice': { 'default': 140, @@ -753,6 +759,16 @@ CONFIG['aro-hcp-test-msi-containers-stg']['aro-hcp-test-msi-containers-stg-{}'.format(i)] = 1 CONFIG['aro-hcp-test-msi-containers-prod']['aro-hcp-test-msi-containers-prod-{}'.format(i)] = 1 +# BEGIN ARO-HCP E2E SLOT RESOURCES +for i in range(15): + CONFIG['aro-hcp-dev-westus3-slot']['aro-hcp-dev-westus3-slot-{i:0>2}'.format(i=i)] = 1 +for i in range(1): + CONFIG['aro-hcp-int-uksouth-slot']['aro-hcp-int-uksouth-slot-{i:0>2}'.format(i=i)] = 1 +for i in range(10): + CONFIG['aro-hcp-prod-uksouth-slot']['aro-hcp-prod-uksouth-slot-{i:0>2}'.format(i=i)] = 1 +for i in range(1): + CONFIG['aro-hcp-stg-uksouth-slot']['aro-hcp-stg-uksouth-slot-{i:0>2}'.format(i=i)] = 1 +# END ARO-HCP E2E SLOT RESOURCES for i in range(20): CONFIG['aro-hcp-msi-mock-cs-sp-dev']['aro-hcp-msi-mock-cs-sp-dev-{}'.format(i)] = 1