MCO: fix arm64 arm64-periodics jobs failing due to incompatible image…#80454
MCO: fix arm64 arm64-periodics jobs failing due to incompatible image…#80454ptalgulk01 wants to merge 3 commits into
Conversation
… arch
The mco-conf-day2-add-mcoqe-robot-to-pull-secret step used
`from: upi-installer` which resolves to ocp_5.0_upi-installer — an
x86_64-only image. On arm64 periodic jobs the multiarch-tuning-operator
detects no supported architectures in common and sets
supportedArchitectures:{}, making the pod permanently unschedulable.
This has been causing all MCO arm64 periodic jobs to fail at this step
before any tests run.
Switch to origin/centos:8 which is a multi-arch manifest list (already
used by other steps in the same workflow) and provides the jq/bash/base64
tools the step script needs. oc is already injected via cli:latest.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
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 (2)
WalkthroughChange the MCO day2 pull-secret step: switch the pull-secret source selector from ChangesMCO day2 pull-secret update
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ptalgulk01 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 |
…r image
The mco-conf-day2-add-mcoqe-robot-to-pull-secret step used
`from: upi-installer` which resolves to ocp_5.0_upi-installer — an
x86_64-only image. On arm64 periodic jobs the multiarch-tuning-operator
detects no supported architectures in common and sets
supportedArchitectures:{}, making the pod permanently unschedulable.
This has caused all MCO arm64 periodic jobs to fail before any tests run.
The same step runs fine on amd64 GCP jobs (e.g. e2e-gcp-mco-disruptive-
techpreview-3of3 succeeded in 3m22s with the same image).
Switch to ocp/4.18:upi-installer which is a multi-arch image with the
same toolset (jq, bash, base64) and is already used successfully in the
same arm64 workflow (ipi-conf-telemetry step).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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/mco/conf/day2/add-mcoqe-robot-to-pull-secret/mco-conf-day2-add-mcoqe-robot-to-pull-secret-ref.yaml`:
- Around line 4-6: The ref hardcodes the installer image via from_image.name:
"4.18" and tag: upi-installer for ref
mco-conf-day2-add-mcoqe-robot-to-pull-secret; change this to derive the image
from the target release (e.g., use the release variable or templated name rather
than "4.18") or switch to a stable multi-arch unversioned image (e.g., a
canonical upi-installer repository/tag) so jobs for 4.19/4.20/etc. don’t run
with 4.18; alternatively, if you must keep "4.18", add a clear comment in the
ref explaining why all streams should use 4.18 and include a link or short
verification showing the image contains jq, bash, base64, and oc. Ensure you
update references to from_image.name, tag, and the ref identifier
mco-conf-day2-add-mcoqe-robot-to-pull-secret accordingly.
🪄 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: 8a9c653f-3bcf-4a42-868c-b285cf0e7b23
📒 Files selected for processing (1)
ci-operator/step-registry/mco/conf/day2/add-mcoqe-robot-to-pull-secret/mco-conf-day2-add-mcoqe-robot-to-pull-secret-ref.yaml
The mco-conf-day2-add-mcoqe-robot-to-pull-secret step used
`from: upi-installer` which resolves to ocp_5.0_upi-installer (x86_64-only).
On arm64 jobs, multiarch-tuning-operator sets supportedArchitectures:{}
making the pod permanently unschedulable — no tests ever ran.
Fix:
- Switch from `from: upi-installer` to `from: cli` so the image is
resolved from each job's own release payload at the correct architecture.
This works for all release streams (4.19/4.20/4.21/4.22/5.0/5.1/main)
without version pinning.
- Replace `jq -s '.[0] * .[1]'` with a python3 deep-merge (python3 is
available in the cli image) to remove the jq dependency.
Confirmed: the same step runs fine in amd64 GCP jobs (e2e-gcp-mco-
disruptive-techpreview-3of3 succeeded in 3m22s), proving the script
logic is correct. Only the base image lacks arm64 support.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
[REHEARSALNOTIFIER]
A total of 328 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs. A full list of affected jobs can be found here Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
/pj-rehearse periodic-ci-openshift-machine-config-operator-release-5.0-arm64-periodics-e2e-aws-mco-disruptive-1of2 |
|
@ptalgulk01: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@ptalgulk01: The following test 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. |
… arch
The mco-conf-day2-add-mcoqe-robot-to-pull-secret step used
from: upi-installerwhich resolves to ocp_5.0_upi-installer — an x86_64-only image. On arm64 periodic jobs the multiarch-tuning-operator detects no supported architectures in common and sets supportedArchitectures:{}, making the pod permanently unschedulable. This has been causing all MCO arm64 periodic jobs to fail at this step before any tests run.Switch to origin/centos:8 which is a multi-arch manifest list (already used by other steps in the same workflow) and provides the jq/bash/base64 tools the step script needs. oc is already injected via cli:latest.
Summary by CodeRabbit
This PR fixes Machine Config Operator (MCO) arm64 periodic CI jobs by making the failing ci-operator step multi-arch and removing an x86-only tool dependency.
What changed
Why this matters
Affected area