Skip to content

feat(aro-hcp): use second ARM helper identity - #83084

Open
roivaz wants to merge 1 commit into
openshift:mainfrom
roivaz:use-second-arm-helper-identity
Open

feat(aro-hcp): use second ARM helper identity#83084
roivaz wants to merge 1 commit into
openshift:mainfrom
roivaz:use-second-arm-helper-identity

Conversation

@roivaz

@roivaz roivaz commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Why

ARO-HCP now supports a dedicated ARM helper identity for Clusters Service, but the legacy Prow provision scripts still configure both Backend and Clusters Service from the first leased identity. The jobs already lease two identities, so this prevents the intended identity isolation from being exercised.

What

  • Configure Backend from the first ARM helper lease.
  • Configure Clusters Service from the second ARM helper lease.
  • Apply the mapping consistently in both legacy provision paths.

Related: AROSLSRE-1679
Depends on: Azure/ARO-HCP#6454 (merged)

Validation

  • Bash syntax checks
  • ShellCheck at warning severity
  • Focused lease-to-configuration mapping test

Summary by CodeRabbit

The ARO-HCP legacy Prow provision scripts now assign separate ARM helper leases to each service:

  • The first lease configures Backend.
  • The second lease configures Clusters Service.
  • Both legacy provision paths generate separate client IDs and certificate names.
  • Temporary yq environment variables are removed after configuration.

Validation includes Bash syntax checks, ShellCheck warnings, and focused lease-to-configuration mapping tests.

Unrelated rehearsal failure

The e2e-parallel-inplace-upgrade rehearsal failed because the pre-existing baseline and upgrade override paths omitted the Region customExporter image. Baseline ARO-HCP commit 0767d80 therefore kept the static sha256:335a... exporter digest while the other Region services used commit-specific images.

This is unrelated to the ARM-helper identity change. The independent fix uses the shared ARO-HCP helpers, adds the exporter pipeline dependency, and preserves the existing Hypershift overrides in #83113.

Configure Clusters Service with the second leased ARM helper identity now that the dedicated service wiring is available in ARO-HCP.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@openshift-ci

openshift-ci Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: 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

@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
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

The provisioning scripts now assign separate ARM helper leases to Backend and Clusters Service. They write distinct client IDs and certificate names to the generated configuration and clean up temporary YQ environment variables.

Changes

ARO HCP ARM helper configuration

Layer / File(s) Summary
Lease mapping and configuration overrides
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
Both scripts document the lease assignments, configure separate Backend and Clusters Service client IDs and certificate names, and unset all temporary YQ environment variables.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: gmfrasca

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
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 two Bash provision scripts. No Ginkgo test declarations or test titles were added or modified, so the naming check is not applicable.
Test Structure And Quality ✅ Passed The commit modifies only two Bash provision scripts and adds no Ginkgo tests or cluster-interaction test code, so these test-quality requirements do not apply.
Microshift Test Compatibility ✅ Passed The patch changes only two shell provision scripts and adds no Ginkgo e2e tests or MicroShift-sensitive test references.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The PR changes only two shell provisioning scripts and adds no Ginkgo e2e tests or multi-node assumptions; the SNO compatibility check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed The patch modifies only shell scripts for ARM helper identity-to-config mapping; it adds no manifests, operator/controller code, or scheduling constraints.
Ote Binary Stdout Contract ✅ Passed Both changed files are Bash scripts; the provision subtree has no Go files or OTE process-level symbols, so the OTE stdout contract is not applicable.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The pull request changes only two shell provisioning scripts; it adds no Ginkgo or e2e tests, IPv4 assumptions, or test external-connectivity requirements.
No-Weak-Crypto ✅ Passed The PR adds no MD5, SHA1, DES, RC4, Blowfish, ECB, custom crypto, or secret/token comparisons; it only maps client IDs and certificate names.
Container-Privileges ✅ Passed The PR changes only two shell scripts; the patch and associated step YAML contain no privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, or allowPrivilegeEscalation settings.
No-Sensitive-Data-In-Logs ✅ Passed The new log prints lease resource names only; generated config contains client IDs and certificate names, not passwords, tokens, API keys, PII, hostnames, or customer data.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main change: using the second ARM helper identity for ARO-HCP.
✨ 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.

@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 Azure/ARO-HCP presubmit Registry content changed
pull-ci-Azure-ARO-HCP-main-e2e-parallel-inplace-upgrade Azure/ARO-HCP presubmit Registry content changed
pull-ci-Azure-ARO-HCP-main-capz-e2e-dev Azure/ARO-HCP presubmit Registry content changed
pull-ci-Azure-ARO-HCP-main-upgrade-e2e-parallel Azure/ARO-HCP presubmit Registry content changed
periodic-ci-Azure-ARO-HCP-main-periodic-healthcheck-provision-centralus N/A periodic Registry content changed
periodic-ci-Azure-ARO-HCP-main-periodic-healthcheck-provision-canadacentral N/A periodic Registry content changed
periodic-ci-Azure-ARO-HCP-main-periodic-healthcheck-provision-westus3 N/A periodic Registry content changed

Prior to this PR being merged, you will need to either run and acknowledge or opt to skip these rehearsals.

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.

@roivaz

roivaz commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

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

@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: 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

/hold

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 7, 2026
@roivaz

roivaz commented Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

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

@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

@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-ci

openshift-ci Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

@roivaz: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/rehearse/Azure/ARO-HCP/main/e2e-parallel-inplace-upgrade eb20da8 link unknown /pj-rehearse pull-ci-Azure-ARO-HCP-main-e2e-parallel-inplace-upgrade

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.

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. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants