Skip to content

fix(aro-hcp): use shared helpers for in-place upgrades - #83113

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
roivaz:fix-upgrade-inplace-exporter
Aug 10, 2026
Merged

fix(aro-hcp): use shared helpers for in-place upgrades#83113
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
roivaz:fix-upgrade-inplace-exporter

Conversation

@roivaz

@roivaz roivaz commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Why

The in-place-upgrade rehearsal for #83084 exposed a pre-existing image override gap unrelated to that PR's change.

The baseline at ARO-HCP commit 0767d80 resolved seven Region service images from ACR but omitted customExporter, leaving its static sha256:335a... digest next to commit-specific Backend and Fleet digests. The upgrade phase had the same omission because its override was assembled manually.

What

  • Replace the duplicated baseline implementation with the ARO-HCP hack/ci/provision-from-main.sh helper.
  • Build the upgrade override through hack/ci/build-config-override.sh.
  • Add the pipeline:aro-hcp-exporter dependency to the upgrade step.
  • Preserve the PR Hypershift operator and shared-ingress images through hypershift-image-overrides.yaml.
  • Leave the regular aro-hcp-provision-environment path unchanged.

Validation

  • Regenerated step-registry metadata.
  • Bash syntax and ShellCheck warning-level checks.
  • Baseline override test using the real ARO-HCP ACR resolver and override builder, confirming exporter, dual ARM helpers, and omission of the non-deployable hcpRecovery placeholder.
  • Upgrade override test using the real ARO-HCP override builder, confirming exporter, hcpRecovery, Hypershift operator/shared-ingress, and dual ARM helpers.

Summary by CodeRabbit

  • Updates ARO-HCP in-place upgrade CI configuration to use shared provisioning and override-generation helpers.
  • Preserves PR Hypershift operator and shared-ingress images during upgrades.
  • Adds the pipeline:aro-hcp-exporter dependency and supplies the required customExporter override.
  • Regenerates step-registry metadata and validates baseline and upgrade overrides, Bash syntax, and ShellCheck results.

@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: dea02e00-9851-42dc-989a-f5c704f26e89

📥 Commits

Reviewing files that changed from the base of the PR and between e1720aa and 1011b81.

📒 Files selected for processing (3)
  • ci-operator/step-registry/aro-hcp/provision/from-main/aro-hcp-provision-from-main-commands.sh
  • ci-operator/step-registry/aro-hcp/test/local-upgrade/aro-hcp-test-local-upgrade-commands.sh
  • ci-operator/step-registry/aro-hcp/test/local-upgrade/aro-hcp-test-local-upgrade-ref.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • ci-operator/step-registry/aro-hcp/test/local-upgrade/aro-hcp-test-local-upgrade-ref.yaml

Walkthrough

ARO-HCP provisioning now delegates to a shared helper. Local upgrade now requires EXPORTER_IMAGE, preserves selected Hypershift and ingress values, and delegates override generation. The pipeline reference supplies the exporter image and documents the shared helper.

Changes

ARO-HCP helper integration

Layer / File(s) Summary
Provisioning delegation
ci-operator/step-registry/aro-hcp/provision/from-main/aro-hcp-provision-from-main-commands.sh
The step replaces its inline provisioning workflow with hack/ci/provision-from-main.sh.
Upgrade override wiring
ci-operator/step-registry/aro-hcp/test/local-upgrade/aro-hcp-test-local-upgrade-commands.sh, ci-operator/step-registry/aro-hcp/test/local-upgrade/aro-hcp-test-local-upgrade-ref.yaml
The step requires EXPORTER_IMAGE, preserves Hypershift and shared ingress values, delegates override generation to build-config-override.sh, and wires the exporter pipeline dependency. The documentation describes the shared helper.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers: avollmer-redhat, geoberle, gmfrasca


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error)

Check name Status Explanation Resolution
No-Sensitive-Data-In-Logs ❌ Error The new helper path logs the ACR hostname, image registries/repos, and full generated override config, exposing internal infrastructure details in CI logs. Redact ACR hostnames, registries, and generated configuration from logs; log only resource-independent status messages and paths.
✅ Passed checks (14 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: using shared helpers for ARO-HCP in-place upgrade workflows.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The PR changes only ARO-HCP shell scripts and step metadata; no Ginkgo test declarations or dynamic test titles were added or modified.
Test Structure And Quality ✅ Passed The PR changes only Bash scripts and YAML metadata; it adds no Ginkgo test code or It blocks, so these Ginkgo test-quality requirements are not applicable.
Microshift Test Compatibility ✅ Passed The pull request changes only two shell scripts and one step-registry YAML file; it adds no Ginkgo e2e tests or test definitions requiring MicroShift compatibility review.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The PR changes only two shell scripts and one YAML step reference; it adds no Ginkgo It, Describe, Context, or When tests requiring SNO compatibility review.
Topology-Aware Scheduling Compatibility ✅ Passed The PR changes only CI shell scripts and a step-registry dependency reference; the diff adds no deployment manifests, operator/controller code, or scheduling constraints.
Ote Binary Stdout Contract ✅ Passed The PR changes only two shell scripts and one YAML ref; no Go files or OTE process-level markers such as RunSpecs, TestMain, klog, or suite stdout writes were changed.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The pull request changes only three ARO-HCP shell/YAML step-registry files and adds no Ginkgo e2e tests or test declarations requiring IPv4 or external connectivity review.
No-Weak-Crypto ✅ Passed The commit adds no MD5, SHA-1, DES, RC4, Blowfish, ECB, custom crypto, or secret/token comparison; the added digest references are image digests only.
Container-Privileges ✅ Passed The changed scripts and step reference contain no privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, allowPrivilegeEscalation, or root execution settings.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@roivaz

roivaz commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-Azure-ARO-HCP-main-e2e-parallel-inplace-upgrade

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 7, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@roivaz: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/aro-hcp/provision/from-main/aro-hcp-provision-from-main-commands.sh`:
- Line 17: Replace the failing delegation in aro-hcp-provision-from-main with
provisioning logic available in the checked-out tree, or add the required
hack/ci/provision-from-main.sh helper and invoke it reliably. Preserve the
downstream artifact contract by producing ${SHARED_DIR}/config.yaml and
${SHARED_DIR}/aro-hcp-slot.env.

In
`@ci-operator/step-registry/aro-hcp/test/local-upgrade/aro-hcp-test-local-upgrade-commands.sh`:
- Around line 77-86: Update the command flow around sourcing
hack/ci/build-config-override.sh so it uses the actual ARO-HCP upstream helper
available in openshift/release, adding or correcting the helper reference as
needed. Ensure the helper runs successfully before copying OVERRIDE_CONFIG_FILE
to config-override-upgrade.yaml and exporting the updated path.
🪄 Autofix

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: Pro Plus

Run ID: 18c5abc7-ee5f-46a8-be8c-b0c934957232

📥 Commits

Reviewing files that changed from the base of the PR and between 88ce08f and 368676e.

📒 Files selected for processing (4)
  • ci-operator/step-registry/aro-hcp/provision/environment/aro-hcp-provision-environment-commands.sh
  • ci-operator/step-registry/aro-hcp/provision/from-main/aro-hcp-provision-from-main-commands.sh
  • ci-operator/step-registry/aro-hcp/test/local-upgrade/aro-hcp-test-local-upgrade-commands.sh
  • ci-operator/step-registry/aro-hcp/test/local-upgrade/aro-hcp-test-local-upgrade-ref.yaml

@roivaz
roivaz force-pushed the fix-upgrade-inplace-exporter branch from 368676e to 70f27e8 Compare August 7, 2026 16:34
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@roivaz

roivaz commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-Azure-ARO-HCP-main-e2e-parallel-inplace-upgrade

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@roivaz: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@roivaz

roivaz commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-Azure-ARO-HCP-main-e2e-parallel-inplace-upgrade

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@roivaz: your /pj-rehearse request was not processed because the request waited in queue for longer than 5 minutes. Please retry in a few minutes.

@roivaz

roivaz commented Aug 9, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-Azure-ARO-HCP-main-e2e-parallel-inplace-upgrade

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@roivaz: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@janboll janboll left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 10, 2026
@roivaz

roivaz commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@roivaz: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Aug 10, 2026
Use the shared ARO-HCP CI helpers for baseline provisioning and upgrade override generation so customExporter and both ARM helper identities stay aligned with ARO-HCP main.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@roivaz
roivaz force-pushed the fix-upgrade-inplace-exporter branch from 70f27e8 to 1011b81 Compare August 10, 2026 08:38
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Aug 10, 2026
@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@roivaz: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-Azure-ARO-HCP-main-e2e-parallel-inplace-upgrade Azure/ARO-HCP presubmit Registry content changed
pull-ci-Azure-ARO-HCP-main-upgrade-e2e-parallel Azure/ARO-HCP presubmit Registry content changed
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-merge-bot openshift-merge-bot Bot removed the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Aug 10, 2026
@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

@roivaz: all tests passed!

Full PR test history. Your PR dashboard.

Details

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. I understand the commands that are listed here.

@janboll

janboll commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 10, 2026
@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: janboll, roivaz

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@roivaz

roivaz commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@roivaz: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Aug 10, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit e9644a6 into openshift:main Aug 10, 2026
11 checks passed
jzding pushed a commit to jzding/release that referenced this pull request Aug 11, 2026
Use the shared ARO-HCP CI helpers for baseline provisioning and upgrade override generation so customExporter and both ARM helper identities stay aligned with ARO-HCP main.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
TimurMP pushed a commit to TimurMP/release that referenced this pull request Sep 5, 2026
Use the shared ARO-HCP CI helpers for baseline provisioning and upgrade override generation so customExporter and both ARM helper identities stay aligned with ARO-HCP main.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants