feat(aro-hcp): add dev-ci Unprivileged postsubmit and fix pipeline concurrency#82147
Conversation
WalkthroughAdds an ARO-HCP dev-ci provisioning step, connects it to a new postsubmit job, limits selected postsubmit concurrency, removes related leases, and replaces Boskos quota resources with a Hypershift westus3 slot. ChangesARO-HCP dev-ci integration
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant PostsubmitJob
participant ProvisionStep
participant ProvisionCommands
participant Azure
participant DevCI
PostsubmitJob->>ProvisionStep: invoke aro-hcp-provision-dev-ci
ProvisionStep->>ProvisionCommands: run command script
ProvisionCommands->>Azure: authenticate with service principal
ProvisionCommands->>DevCI: run dev-ci-local-run
Suggested reviewers: 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 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 |
…ncurrency Add a `dev-ci-pipeline-postsubmit` job that rolls out the `Microsoft.Azure.ARO.HCP.DevCI.Unprivileged` entrypoint of the ARO-HCP dev-ci topology via a new `aro-hcp/provision/dev-ci` registry step. The job runs with `max_concurrency: 1` (no Boskos lease) so executions serialize without a quota slice, and only fires when the entrypoint's inputs change (config-dev-ci, topology-dev-ci, dev-infrastructure/*, tooling/*). The Owner-only Privileged entrypoint is intentionally excluded from this unattended job. Also correct two pre-existing postsubmit concurrency bugs introduced when PR openshift#78576 set `max_concurrency: 4` on every postsubmit. Both pipeline postsubmits must stay serialized, so restore `max_concurrency: 1` and, since concurrency=1 already provides the serialization their Boskos leases did, drop both leases and their now-unused quota slices from the boskos generator: - global-pipeline-postsubmit: max_concurrency 4 -> 1; remove lease and the aro-hcp-dev-global-pipeline-quota-slice. - cspr-pipeline-postsubmit: max_concurrency 4 -> 1; remove lease and the aro-hcp-dev-cspr-pipeline-quota-slice. At 4, fast-landing commits on ARO-HCP main triggered concurrent CSPR pipeline executions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2145422 to
3d0bd56
Compare
|
[REHEARSALNOTIFIER] Note: If this PR includes changes to step registry files ( Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
/hold cancel |
|
/lgtm |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: danilo-gemoli, janboll, roivaz The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/retest |
|
@roivaz: all tests passed! 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. |
|
@roivaz: Updated the
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. |
…ncurrency (openshift#82147) Add a `dev-ci-pipeline-postsubmit` job that rolls out the `Microsoft.Azure.ARO.HCP.DevCI.Unprivileged` entrypoint of the ARO-HCP dev-ci topology via a new `aro-hcp/provision/dev-ci` registry step. The job runs with `max_concurrency: 1` (no Boskos lease) so executions serialize without a quota slice, and only fires when the entrypoint's inputs change (config-dev-ci, topology-dev-ci, dev-infrastructure/*, tooling/*). The Owner-only Privileged entrypoint is intentionally excluded from this unattended job. Also correct two pre-existing postsubmit concurrency bugs introduced when PR openshift#78576 set `max_concurrency: 4` on every postsubmit. Both pipeline postsubmits must stay serialized, so restore `max_concurrency: 1` and, since concurrency=1 already provides the serialization their Boskos leases did, drop both leases and their now-unused quota slices from the boskos generator: - global-pipeline-postsubmit: max_concurrency 4 -> 1; remove lease and the aro-hcp-dev-global-pipeline-quota-slice. - cspr-pipeline-postsubmit: max_concurrency 4 -> 1; remove lease and the aro-hcp-dev-cspr-pipeline-quota-slice. At 4, fast-landing commits on ARO-HCP main triggered concurrent CSPR pipeline executions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
What
Add a Prow postsubmit (
dev-ci-pipeline-postsubmit) that rolls out theMicrosoft.Azure.ARO.HCP.DevCI.Unprivilegedentrypoint of the ARO-HCPdev-citopology via a newaro-hcp/provision/dev-ciregistry step.Also fixes two pre-existing postsubmit concurrency bugs.
Why
New dev-ci job. ARO-HCP now has a
dev-citopology split into two entrypoints:Unprivileged(unattended, no subscription Owner needed) andPrivileged(Owner-only, on-demand). This job continuously reconciles the Unprivileged shared dev/CI support infrastructure (opstool AKS, gateway, cert-manager, tenant-quota, CIHealth, and the non-privileged CI bot identities). The Owner-onlyPrivilegedentrypoint is intentionally not run here — its service principal is not a subscription Owner — and is applied on demand by an OWNERS member.max_concurrency: 1with no Boskos lease: concurrency=1 alone serializes executions, so no quota slice is needed.run_if_changedscoped to the entrypoint's inputs:config/config-dev-ci.yaml,config/config-dev-ci.schema.json,topology-dev-ci.yaml,dev-infrastructure/.*,tooling/.*(covers all shared bicep templates/configurations/scripts/observability and tenant-quota that the entrypoint deploys).Concurrency fixes. #78576 set
max_concurrency: 4on every postsubmit. Both ARO-HCP pipeline postsubmits must stay serialized, so they are restored tomax_concurrency: 1. Since concurrency=1 already provides the serialization their Boskos leases did, both leases and their now-unused quota slices are dropped from the boskos generator:global-pipeline-postsubmit:max_concurrency4 → 1; remove lease +aro-hcp-dev-global-pipeline-quota-slice.cspr-pipeline-postsubmit:max_concurrency4 → 1; remove lease +aro-hcp-dev-cspr-pipeline-quota-slice. At4, fast-landing commits on ARO-HCPmaintriggered concurrent CSPR pipeline executions.Dependencies
Depends on Azure/ARO-HCP#6148 (introduces
topology-dev-ci.yamland the two entrypoints). Holding until it lands./hold
/cc @geoberle
Summary by CodeRabbit
dev-ci-pipeline-postsubmitProw job (withmax_concurrency: 1) that deploys the ARO-HCPMicrosoft.Azure.ARO.HCP.DevCI.Unprivilegedentrypoint via a newaro-hcp/provision/dev-ciregistry step, and runs only when dev-ci configuration/topology/infrastructure/tooling inputs change; the owner-onlyMicrosoft.Azure.ARO.HCP.DevCI.Privilegedentrypoint is explicitly excluded. Held pending feat: bump CIHealth and split dev-ci e2e RBAC pipeline by privilege Azure/ARO-HCP#6148.max_concurrency: 1for bothglobal-pipeline-postsubmitandcspr-pipeline-postsubmit, removing their Boskos lease usage.aro-hcp-dev-hypershift-westus3-slotquota slice.aro-hcp-provision-dev-cireference YAML, andaro-hcp-provision-dev-ci-commands.sh(Azure credentialedaz login+dev-ci-local-runexecution).