Add GCP IPI ci-operator config for Quay e2e tests#81748
Add GCP IPI ci-operator config for Quay e2e tests#81748redhat-chai-bot wants to merge 7 commits into
Conversation
|
@redhat-chai-bot: GitHub didn't allow me to request PR reviews from the following users: quay/quay-qe. Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughAdds GCS-backed Quay deployment automation, OCP 4.21 configurations for Quay 3.17 and 3.18 E2E tests, ChangesQuay GCP OCP 4.21 testing
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant PeriodicJob
participant CiOperator
participant Terraform
participant OpenShift
participant QuayRegistry
participant Slack
PeriodicJob->>CiOperator: start Quay 3.17 or 3.18 target
CiOperator->>Terraform: provision GCS bucket
CiOperator->>OpenShift: install Quay Operator
CiOperator->>QuayRegistry: apply registry configuration
QuayRegistry->>CiOperator: report readiness and endpoint
CiOperator->>Slack: report job state and result
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 13 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (13 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
/pj-rehearse periodic-ci-quay-quay-tests-master-quay-gcp-ocp-quay-e2e-tests-quay317-ocp421-gcp-ipi |
|
@jbpratt: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
1fda804 to
b5d920d
Compare
|
/pj-rehearse periodic-ci-quay-quay-tests-master-quay-gcp-ocp-quay-e2e-tests-quay317-ocp421-gcp-ipi |
|
@jbpratt: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: redhat-chai-bot The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@ci-operator/step-registry/quay-tests/deploy-quay-gcs/quay-tests-deploy-quay-gcs-commands.sh`:
- Line 257: Correct the typo in the timeout message by changing “afer” to
“after” in the readiness wait error output.
- Around line 60-61: Remove the `|| true` suffix from the `terraform apply
-auto-approve` command in the deployment script, allowing `set -e` to stop
execution and surface Terraform failures immediately.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 5fc4a83c-dbbe-4e3f-a33b-9773a882cf10
⛔ Files ignored due to path filters (1)
ci-operator/jobs/quay/quay-tests/quay-quay-tests-master-periodics.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (5)
ci-operator/config/quay/quay-tests/quay-quay-tests-master__quay-gcp-ocp.yamlci-operator/step-registry/cluster-profiles/cluster-profiles-config.yamlci-operator/step-registry/quay-tests/deploy-quay-gcs/OWNERSci-operator/step-registry/quay-tests/deploy-quay-gcs/quay-tests-deploy-quay-gcs-commands.shci-operator/step-registry/quay-tests/deploy-quay-gcs/quay-tests-deploy-quay-gcs-ref.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
- ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml
- ci-operator/config/quay/quay-tests/quay-quay-tests-master__quay-gcp-ocp.yaml
|
/pj-rehearse periodic-ci-quay-quay-tests-master-quay-gcp-ocp-quay-e2e-tests-quay317-ocp421-gcp-ipi |
|
@jbpratt: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@redhat-chai-bot, Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
@redhat-chai-bot: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Add a new variant config quay-gcp-ocp with two Gangway-triggerable periodic jobs that run Quay e2e tests on GCP IPI clusters: - quay-e2e-tests-quay317-ocp421-gcp-ipi (Quay 3.17 on OCP 4.21) - quay-e2e-tests-quay318-ocp421-gcp-ipi (Quay 3.18 on OCP 4.21) Both jobs use cluster_profile gcp-quay-qe, the cucushift-installer-rehearse-gcp-ipi workflow, and GCP storage for the Quay registry backend. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a new step registry step quay-tests-deploy-quay-gcs that deploys Quay with Google Cloud Storage (GCS) backend. Based on the existing quay-tests-deploy-quay-aws-s3 step but uses GoogleCloudStorage config, provisions GCS buckets via Terraform, and reads credentials from the quay-qe-gcp-secret. Update the GCP IPI config to reference the new step instead of the legacy quay-tests-deploy-quay-gcp. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… step Generate the missing quay-tests-deploy-quay-gcs-ref.metadata.json via make registry-metadata, and fix all shellcheck findings in the commands script: remove self-assignments (SC2269), quote variable expansions (SC2086), and prefix glob with ./ (SC2035). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove `|| true` from `terraform apply` so set -e catches bucket creation failures immediately instead of continuing to deploy Quay - Extract project_id from GCP service account JSON and pass it to Terraform via TF_VAR_gcp_project; add `project` attribute to the google_storage_bucket resource (required field) - Fix typo: "afer" → "after" in timeout error message Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
e5b615e to
6448fff
Compare
|
[REHEARSALNOTIFIER]
Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
/pj-rehearse periodic-ci-quay-quay-tests-master-quay-gcp-ocp-quay-e2e-tests-quay317-ocp421-gcp-ipi |
|
@jbpratt: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/retest |
|
/retest Retesting failed checks — all 5 failures are "Pod pending timeout" on build07 (infra scheduling pressure, not PR-related). |
|
/test ci-operator-config Retesting — both failed again with "Pod pending timeout" on build07 (persistent scheduling pressure). |
|
/test owners Retesting — another round of Pod pending timeouts on build07. |
|
/test yamllint OOM killed again on build07 after 3m. |
|
/test ci-operator-config build07 infra issues continue — Pod pending timeout (ci-operator-config) and OOM kill (yamllint). Retesting. |
|
/test owners Pod pending timeout on build07 again. |
|
/test ci-operator-registry Pod pending timeout on build07 (7th round of infra retests this evening). |
|
/test ci-operator-config build07 infra continues — retesting. |
|
/retest |
1 similar comment
|
/retest |
Summary
Adds a new ci-operator config variant (
quay-gcp-ocp) that provisions OCP clusters on GCP IPI for Quay end-to-end testing. This fills the gap where all existing Quay self-managed OCP tests use AWS IPI exclusively.What's New
New file:
ci-operator/config/quay/quay-tests/quay-quay-tests-master__quay-gcp-ocp.yamlTwo Gangway-triggerable jobs (both use
cron: '@yearly'+MULTISTAGE_PARAM_OVERRIDE_*):quay-e2e-tests-quay317-ocp421-gcp-ipi— Quay 3.17 on OCP 4.21 / GCP IPIquay-e2e-tests-quay318-ocp421-gcp-ipi— Quay 3.18 on OCP 4.21 / GCP IPIKey Configuration
gcp-quay-qecucushift-installer-rehearse-gcp-ipin2-standard-8× 6 replicasquay-tests-deploy-quay-gcpMULTISTAGE_PARAM_OVERRIDE_QUAY_INDEX_IMAGE#quay-qeTest Steps
quay-tests-enable-quay-catalogsource— enable FBC catalogquay-tests-deploy-quay-gcp— deploy Quay with GCS storagequay-tests-test-quay-api— API test suitequay-tests-test-quay-e2e— e2e test suitequay-tests-deprovisioning-aws-gcp-azure-storage-buckets— cleanupVerification Notes
Before merging, please verify:
gcp-quay-qe-quota-slicehas sufficient capacity (48 vCPUs per run)quay-qe-gcp-secretcredentials are still activegcp-quay-qecluster profile has a configured DNS zone/cc @quay/quay-qe
Summary by CodeRabbit
New
quay-gcp-ocpCI operator variantvariant: quay-gcp-ocp) using thegcp-qecluster profile and thecucushift-installer-rehearse-gcp-ipiworkflow.QUAY_STORAGE_PROVIDER: gcp) and Slack reporting to#quay-qe.QUAY_VERSION: 3.17, operator channelstable-3.17)QUAY_VERSION: 3.18, operator channelstable-3.18)n2-standard-8compute replicas and run the sequence: enable Quay catalog → deploy Quay (GCS) → run Quay API + end-to-end tests → clean up storage buckets (including GCS).Two yearly periodic Prow jobs for GCP IPI E2E
@yearlyfor:...quay-e2e-tests-quay317-ocp421-gcp-ipi...quay-e2e-tests-quay318-ocp421-gcp-ipi#quay-qe) using success/failure/error templates and target the samequay-gcp-ocpvariant.pj-rehearse.openshift.io/can-be-rehearsed: "true".Cluster profile access control
gcp-qecluster profile owners to alloworg: quayforrepos: [quay-tests]so these CI jobs can use the profile.Quay on GCP (GCS) deployment step registry
quay-tests-deploy-quay-gcsstep (plusOWNERS, ref YAML, and metadata) that:QUAY_EXTRA_CONFIGmerging into the default Quay configterraform apply, passingTF_VAR_gcp_project, and related bucket attribute/timeout message fixes).