Skip to content

Add node_architecture: arm64 to MCO arm64-periodics configs#80461

Closed
ptalgulk01 wants to merge 1 commit into
openshift:mainfrom
ptalgulk01:ppt/fix-arm64-periodics-node-architecture
Closed

Add node_architecture: arm64 to MCO arm64-periodics configs#80461
ptalgulk01 wants to merge 1 commit into
openshift:mainfrom
ptalgulk01:ppt/fix-arm64-periodics-node-architecture

Conversation

@ptalgulk01

@ptalgulk01 ptalgulk01 commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

All arm64 periodic disruptive jobs for MCO (release-4.22, 4.23, 5.0) are failing because the src and MCO images are built on amd64 nodes while the test clusters expect arm64. The multiarch-tuning-operator blocks scheduling with "no supported architectures in common".

Adding node_architecture: arm64 ensures ci-operator builds images on arm64 nodes and pulls arm64 base images.

Summary by CodeRabbit

This PR addresses a critical architecture mismatch in the Machine Config Operator's (MCO) arm64 periodic disruptive testing jobs across OpenShift releases 4.22, 4.23, and 5.0.

Problem: The periodic ci-operator jobs were building container images on amd64 nodes and pulling amd64 base images, but the test clusters for these jobs were configured to run on arm64 hardware. This caused the multiarch-tuning-operator to block scheduling with a "no supported architectures in common" error, causing all three releases' arm64 periodic tests to fail.

Solution: Added node_architecture: arm64 configuration to the MCO arm64-periodics job definitions in three configuration files:

  • openshift-machine-config-operator-release-4.22__arm64-periodics.yaml
  • openshift-machine-config-operator-release-4.23__arm64-periodics.yaml
  • openshift-machine-config-operator-release-5.0__arm64-periodics.yaml

This ensures ci-operator will build images on arm64 nodes and pull arm64 base images, aligning the build architecture with the test cluster requirements.

All arm64 periodic disruptive jobs for MCO (release-4.22, 4.23, 5.0)
are failing because the src and MCO images are built on amd64 nodes
while the test clusters expect arm64. The multiarch-tuning-operator
blocks scheduling with "no supported architectures in common".

Adding node_architecture: arm64 ensures ci-operator builds images on
arm64 nodes and pulls arm64 base images.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 12, 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: Enterprise

Run ID: a95c7d77-dd3e-43c7-8159-bab426250302

📥 Commits

Reviewing files that changed from the base of the PR and between 7cdb3d6 and 4a601ae.

📒 Files selected for processing (3)
  • ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-4.22__arm64-periodics.yaml
  • ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-4.23__arm64-periodics.yaml
  • ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-5.0__arm64-periodics.yaml

Walkthrough

This PR adds an explicit node_architecture: arm64 configuration field to three OpenShift CI operator configuration files for the machine-config-operator, pinning the node architecture for periodic arm64 test runs across releases 4.22, 4.23, and 5.0.

Changes

ARM64 Node Architecture Configuration

Layer / File(s) Summary
Explicit node architecture configuration
ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-4.22__arm64-periodics.yaml, openshift-machine-config-operator-release-4.23__arm64-periodics.yaml, openshift-machine-config-operator-release-5.0__arm64-periodics.yaml
The node_architecture: arm64 field is added at the top level of each release version's CI configuration file, ensuring the arm64 periodic test variant explicitly specifies its target node architecture.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Suggested labels

lgtm, rehearsals-ack

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically summarizes the main change: adding node_architecture: arm64 to MCO arm64-periodics configurations across multiple release versions.
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 PR #80461 only adds node_architecture: arm64 to 3 MCO arm64-periodics YAMLs; none contain Ginkgo-style test titles (It/Describe/Context/When).
Test Structure And Quality ✅ Passed In the PR’s changed Go files, there are zero matches for Ginkgo/ginkgo or Describe/It/Context/Eventually/Consistently; no Ginkgo test code was modified to review.
Microshift Test Compatibility ✅ Passed PR #80461 changes only 3 YAML files to add node_architecture: arm64; no new Ginkgo e2e tests or MicroShift API-using test code were added.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR only adds node_architecture: arm64 to 3 MCO arm64-periodics YAML files; no new Ginkgo e2e tests or test code changes were made, so SNO compatibility check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed PR adds only node_architecture: arm64 to the MCO arm64-periodics CI YAMLs; inspected files contain no nodeSelectors/affinity, topology spread, PDB, anti-affinity, or replica-count derived-from-to...
Ote Binary Stdout Contract ✅ Passed PR modifies only YAML CI configuration files and does not touch test binaries or code related to stdout behavior; OTE Binary Stdout Contract check is not applicable.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR #80461 modifies only three MCO arm64-periodics YAMLs, adding node_architecture: arm64; no new Ginkgo e2e tests or IPv4/external connectivity assumptions introduced.
No-Weak-Crypto ✅ Passed PR adds only infrastructure configuration (node_architecture: arm64) to YAML files; no cryptographic code, weak crypto algorithms, or secret comparison patterns detected.
Container-Privileges ✅ Passed Reviewed the three MCO arm64-periodics YAMLs: they only add node_architecture: arm64 and contain no privileged/hostPID/hostNetwork/hostIPC/allowPrivilegeEscalation/securityContext-capability settings.
No-Sensitive-Data-In-Logs ✅ Passed PR diff only adds node_architecture: arm64 to 3 MCO arm64-periodics YAML files; no password/token/API-key-like strings found in the diff view.

✏️ Tip: You can configure your own custom pre-merge checks in the 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 and usage tips.

@openshift-ci

openshift-ci Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

[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

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 Jun 12, 2026
@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jun 12, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@ptalgulk01: no rehearsable tests are affected by this change

Note: If this PR includes changes to step registry files (ci-operator/step-registry/) and you expected jobs to be found, try rebasing your PR onto the base branch. This helps pj-rehearse accurately detect changes when the base branch has moved forward.

@ptalgulk01

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-openshift-machine-config-operator-release-5.0-arm64-periodics-e2e-aws-mco-disruptive-1of2
periodic-ci-openshift-machine-config-operator-release-5.0-arm64-periodics-e2e-aws-mco-disruptive-2of2 periodic-ci-openshift-machine-config-operator-release-5.0-periodics-e2e-gcp-mco-disruptive-techpreview-3of3 periodic-ci-openshift-machine-config-operator-release-5.0-arm64-periodics-e2e-aws-mco-disruptive-techpreview-1of3

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@ptalgulk01: job(s): periodic-ci-openshift-machine-config-operator-release-5.0-arm64-periodics-e2e-aws-mco-disruptive-1of2 either don't exist or were not found to be affected, and cannot be rehearsed

@miheer

miheer commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

/retest

@openshift-ci

openshift-ci Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

@ptalgulk01: 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/prow/ci-operator-config-metadata 4a601ae link true /test ci-operator-config-metadata

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.

@ptalgulk01 ptalgulk01 closed this Jun 12, 2026
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. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants