Skip to content

MCO-2257: use RHEL10 by default in 5.0#79260

Draft
cheesesashimi wants to merge 1 commit into
openshift:mainfrom
cheesesashimi:zzlotnik/rhel10-by-default
Draft

MCO-2257: use RHEL10 by default in 5.0#79260
cheesesashimi wants to merge 1 commit into
openshift:mainfrom
cheesesashimi:zzlotnik/rhel10-by-default

Conversation

@cheesesashimi
Copy link
Copy Markdown
Member

By separating the MCO images into RHEL9 and RHEL10 configs, we're able to specify which release should get which RHEL version installed by default. The changes in this PR will have the following effects:

  • All OCP presubmits which run on main and 5.0 will begin using RHEL10 by default, even though we are still technically in 4.23.
  • All OCP presubmits which run specifically on release-4.23 will continue to use RHEL9 by default for presubmits. This will apply to any periodics as well which specifically target release-4.23.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 13, 2026
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 13, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented May 13, 2026

@cheesesashimi: This pull request references MCO-2257 which is a valid jira issue.

Details

In response to this:

By separating the MCO images into RHEL9 and RHEL10 configs, we're able to specify which release should get which RHEL version installed by default. The changes in this PR will have the following effects:

  • All OCP presubmits which run on main and 5.0 will begin using RHEL10 by default, even though we are still technically in 4.23.
  • All OCP presubmits which run specifically on release-4.23 will continue to use RHEL9 by default for presubmits. This will apply to any periodics as well which specifically target release-4.23.

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 13, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 13, 2026

Walkthrough

This PR migrates the machine-config-operator CI configurations across main and release branches (4.23, 5.0, 5.1) from RHEL 7 to RHEL 9 and RHEL 10 base image builds. Dockerfile paths in periodic test configurations are also updated to use RHEL 10 instead of RHEL 7.

Changes

RHEL 7 to RHEL 9/10 Image Build Migration

Layer / File(s) Summary
Main and release branch image build updates
ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml, openshift-machine-config-operator-release-4.23.yaml, openshift-machine-config-operator-release-5.0.yaml, openshift-machine-config-operator-release-5.1.yaml
Image build matrices are updated to drop Dockerfile.rhel7 and add Dockerfile.rhel9 (and Dockerfile.rhel10 in some branches). Corresponding image output names are mapped accordingly, and newly built images are added to the promotion exclusion lists.
Periodic test configuration updates
ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-4.23__arm64-periodics.yaml, openshift-machine-config-operator-release-4.23__periodics.yaml, openshift-machine-config-operator-release-5.0__arm64-periodics.yaml, openshift-machine-config-operator-release-5.0__periodics.yaml
Dockerfile path references in periodic test base image configurations are changed from Dockerfile.rhel7 to Dockerfile.rhel10.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 12
✅ Passed checks (12 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
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 Not applicable. PR modifies YAML CI config files only, not Go test code with Ginkgo tests (It, Describe, etc).
Test Structure And Quality ✅ Passed The PR contains only YAML CI operator configuration changes. No Ginkgo test code is present, so the test structure and quality check is not applicable to this PR.
Microshift Test Compatibility ✅ Passed No Ginkgo e2e tests are added or modified. The PR only updates CI operator YAML config files for image builds. MicroShift compatibility check does not apply.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR modifies only YAML CI configuration files (updating Dockerfile references from RHEL7 to RHEL9/RHEL10). No new Ginkgo e2e tests are added. The SNO compatibility check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies CI config files only. No deployment manifests, operator code, or scheduling constraints affecting cluster topologies are introduced.
Ote Binary Stdout Contract ✅ Passed Not applicable. PR contains only YAML configuration files. OTE Binary Stdout Contract check applies to executable code with stdout operations, not configuration files.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR modifies only YAML CI configuration files in ci-operator/config/. No Ginkgo e2e tests are added, so IPv6/disconnected network check does not apply.
Title check ✅ Passed The title is partially related to the changeset. It mentions using RHEL10 by default in 5.0, which is accurate for one of the key changes (release-5.0 now uses RHEL10), but the changeset is broader than just 5.0—it updates multiple release configurations (main, 4.23, 5.0, 5.1) with various RHEL9 and RHEL10 mappings across presubmits and periodics. The title does not capture this broader scope.

✏️ 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
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 13, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cheesesashimi

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 May 13, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

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/config/openshift/machine-config-operator/openshift-machine-config-operator-release-4.23__arm64-periodics.yaml`:
- Line 18: The periodic for release-4.23 incorrectly uses dockerfile_path:
Dockerfile.rhel10; change the value back to Dockerfile.rhel9 so the ARM64
release-4.23 periodic matches main-config intent and other periodics. Update the
dockerfile_path entry in the release-4.23 __arm64-periodics.yaml stanza from
Dockerfile.rhel10 to Dockerfile.rhel9, and verify the rest of the copied
sections mirror the main config for release-4.23.

In
`@ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-4.23__periodics.yaml`:
- Line 18: The periodic job for machine-config-operator in release-4.23 is using
the wrong RHEL base; update the dockerfile_path from "Dockerfile.rhel10" to
"Dockerfile.rhel9" so the release-4.23 periodics default to RHEL9 as intended;
locate the dockerfile_path entry in the machine-config-operator periodic config
(the block that sets dockerfile_path: Dockerfile.rhel10 for release-4.23) and
change it to Dockerfile.rhel9, ensuring the rest of the job metadata for
machine-config-operator remains unchanged.
🪄 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: 6f9d7f72-bc4d-47ef-8c2e-af4ff0d9f21d

📥 Commits

Reviewing files that changed from the base of the PR and between aad6e7d and 70399b0.

⛔ Files ignored due to path filters (10)
  • ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-main-postsubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-main-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-release-4.23-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-release-4.23-postsubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-release-4.23-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-release-5.0-periodics.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-release-5.0-postsubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-release-5.0-presubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-release-5.1-postsubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/openshift/machine-config-operator/openshift-machine-config-operator-release-5.1-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (8)
  • ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-main.yaml
  • ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-4.23.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-4.23__periodics.yaml
  • ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-5.0.yaml
  • ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-5.0__arm64-periodics.yaml
  • ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-5.0__periodics.yaml
  • ci-operator/config/openshift/machine-config-operator/openshift-machine-config-operator-release-5.1.yaml

@cheesesashimi cheesesashimi force-pushed the zzlotnik/rhel10-by-default branch from 70399b0 to 5e3b868 Compare May 13, 2026 17:25
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@cheesesashimi: 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-openshift-machine-config-operator-release-5.0-arm64-periodics-images openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-bootstrap-unit openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-agent-compact-ipv4 openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-agent-compact-ipv4-iso-no-registry openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-disruptive openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-mco-disruptive openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-ovn openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-ovn-fips openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-ovn-fips-op openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-ovn-ocb-techpreview openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-ovn-serial-ipsec openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-ovn-upgrade openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-ovn-upgrade-ipsec openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-ovn-upgrade-ocb-techpreview openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-ovn-upgrade-out-of-change openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-ovn-windows openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-ovn-workers-rhel8 openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-proxy openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-serial openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-single-node openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-upgrade-single-node openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-aws-workers-rhel8 openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-azure openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-azure-ovn-multidisk-techpreview openshift/machine-config-operator presubmit Ci-operator config changed
pull-ci-openshift-machine-config-operator-release-5.0-e2e-azure-ovn-upgrade openshift/machine-config-operator presubmit Ci-operator config changed

A total of 349 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-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.

@cheesesashimi cheesesashimi changed the title MCO-2257: install with RHEL10 in 5.0 MCO-2257: use RHEL10 by default in 5.0 May 13, 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. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants