Skip to content

Promote IrreconcilableMachineConfig to GA - #2929

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:masterfrom
proietfb:IC_Feature_promotion
Aug 6, 2026
Merged

Promote IrreconcilableMachineConfig to GA#2929
openshift-merge-bot[bot] merged 1 commit into
openshift:masterfrom
proietfb:IC_Feature_promotion

Conversation

@proietfb

Copy link
Copy Markdown
Member

This PR promotes the IrreconcilableMachineConfig feature gate from DevPreview/TechPreview to Default feature set.

Ref: OCPSTRAT-1215 and PR#6085 Test Suite

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci

openshift-ci Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Hello @proietfb! Some important instructions when contributing to openshift/api:
API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

@openshift-ci openshift-ci Bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jul 13, 2026
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

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: Pro Plus

Run ID: 22f81425-fbf0-4b0c-8284-fdfb972b54a3

📥 Commits

Reviewing files that changed from the base of the PR and between 7c5fbe3 and 502ebf7.

⛔ Files ignored due to path filters (9)
  • machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfignodes-Hypershift-Default.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfignodes-Hypershift-OKD.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfignodes-SelfManagedHA-Default.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfignodes-SelfManagedHA-OKD.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-Default.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-DevPreviewNoUpgrade.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-OKD.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-TechPreviewNoUpgrade.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
📒 Files selected for processing (15)
  • features.md
  • features/features.go
  • payload-manifests/crds/0000_80_machine-config_01_machineconfignodes-Hypershift-Default.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_machineconfignodes-Hypershift-OKD.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_machineconfignodes-SelfManagedHA-Default.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_machineconfignodes-SelfManagedHA-OKD.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_machineconfigurations-Default.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_machineconfigurations-DevPreviewNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_machineconfigurations-OKD.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_machineconfigurations-TechPreviewNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_machineconfigurations.crd.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
💤 Files with no reviewable changes (1)
  • payload-manifests/crds/0000_80_machine-config_01_machineconfigurations.crd.yaml
🚧 Files skipped from review as they are similar to previous changes (8)
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
  • payload-manifests/crds/0000_80_machine-config_01_machineconfignodes-Hypershift-Default.crd.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
  • features.md
  • payload-manifests/crds/0000_80_machine-config_01_machineconfignodes-Hypershift-OKD.crd.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
  • features/features.go

📝 Walkthrough

Walkthrough

IrreconcilableMachineConfig is enabled for default and OKD profiles. Four 4.10 feature-gate manifests reflect this change. MachineConfigNode CRDs define an optional status.irreconcilableChanges array with validation. The CustomNoUpgrade annotation was removed from the MachineConfiguration CRD. The feature documentation entry was repositioned.

Suggested reviewers: joelspeed, everettraven

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly states that the IrreconcilableMachineConfig feature gate is promoted to GA.
Description check ✅ Passed The description directly explains promotion of the IrreconcilableMachineConfig feature gate to the Default feature set.
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 feature-gate configuration and CRD manifests; no test files or Ginkgo test declarations were added or modified.
Test Structure And Quality ✅ Passed No Ginkgo test code or test specifications changed; the diff only updates feature gates and generated manifests, so this test-quality check is not applicable.
Microshift Test Compatibility ✅ Passed The PR changes only feature-gate, CRD, manifest, and documentation files; it adds no Ginkgo tests or test/e2e paths, so MicroShift compatibility checks are not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The patch adds no Ginkgo e2e tests; it changes feature metadata, manifests, and generated CRDs only, so SNO compatibility checks are not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed The PR changes feature-gate metadata and CRD schemas only; added lines contain no deployments, controllers, pods, replicas, affinity, node selectors, tolerations, or PDB constraints.
Ote Binary Stdout Contract ✅ Passed This PR modifies only feature gate configuration: features.md (documentation), features/features.go (pure library with no main/init/test suite entry points), and YAML configuration files. No execut...
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The patch changes feature metadata, feature-gate configuration, and generated YAML/CRDs only; it adds no test/e2e files or Ginkgo declarations.
No-Weak-Crypto ✅ Passed PR contains no weak cryptography patterns. Changes are configuration and feature gate promotion only; irreconcilableChanges fields store plain configuration diffs without cryptographic operations.
Container-Privileges ✅ Passed PR additions are CRD schemas and feature-gate data; no added privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, allowPrivilegeEscalation, or root settings were found.
No-Sensitive-Data-In-Logs ✅ Passed The commit adds no logging calls or log-format changes; it only promotes the feature gate and updates generated CRD and feature-gate manifests.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.12.2)

Error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented
The command is terminated due to an error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented


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-ci
openshift-ci Bot requested review from JoelSpeed and everettraven July 13, 2026 17:41
@openshift-ci openshift-ci Bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jul 14, 2026
@proietfb

Copy link
Copy Markdown
Member Author

/test verify-feature-promotion

@qodo-for-rh-openshift

qodo-for-rh-openshift Bot commented Jul 22, 2026

Copy link
Copy Markdown

PR-Agent: could not find a component named verify-feature-promotion in a supported language in this PR.

@proietfb

Copy link
Copy Markdown
Member Author

/retitle Promote IrreconcilableMachineConfig to GA

@openshift-ci openshift-ci Bot changed the title [WIP] Promote IrreconcilableMachineConfig to GA Promote IrreconcilableMachineConfig to GA Jul 22, 2026
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 22, 2026
@everettraven

Copy link
Copy Markdown
Contributor

Took a preliminary look at the verify-feature-promotion job results. Looks like you need to collect some more test runs to meet the promotion criteria - other than that, this PR looks good.

A couple things I noticed:

  • It looks like none of the tests have been run against SNO - any particular reason why we have no test results for SNO?
  • It looks like the test [sig-mco][Suite:openshift/machine-config-operator/disruptive][Disruptive][OCPFeatureGate:IrreconcilableMachineConfig][Serial] [PolarionID:84219] Verify irreconcilable changes on new and existing nodes after scale up [Disruptive] doesn't have any runs on the metal platforms - any particular reason this test isn't being run against the metal platform?

@proietfb

Copy link
Copy Markdown
Member Author

Thank you @everettraven for your review.
I'm trying to speed up data collection and meet criteria before the end of next week.

It looks like none of the tests have been run against SNO - any particular reason why we have no test results for SNO?

We intentionally excluded SNO clusters as this feature is not currently supported in Single Node OpenShift environments

It looks like the test [sig-mco][Suite:openshift/machine-config-operator/disruptive][Disruptive][OCPFeatureGate:IrreconcilableMachineConfig][Serial] [PolarionID:84219] Verify irreconcilable changes on new and existing nodes after scale up [Disruptive] doesn't have any runs on the metal platforms - any particular reason this test isn't being run against the metal platform

Unfortunately, our metal jobs do not have available resources to run this specific test.
We are restructuring all metal jobs to be able to do so.

@proietfb

Copy link
Copy Markdown
Member Author

/test verify-feature-promotion

@qodo-for-rh-openshift

qodo-for-rh-openshift Bot commented Jul 28, 2026

Copy link
Copy Markdown

PR-Agent: could not find a component named verify-feature-promotion in a supported language in this PR.

@everettraven

Copy link
Copy Markdown
Contributor

Aside from the VSphere scale up test having a pass rate of 70% this looks good to me based on agreed upon exceptions in the approved SBAR.

Let's get that test passing at the required rate and I'll approve + override.

@dgoodwin

Copy link
Copy Markdown
Contributor

In their SBAR the team has requested another exception for both vsphere and AWS specifically for the scaleup test. They have discovered both platforms lack the ability to reliably inspect the disks as needed for the test to pass. They've confirmed this is test code not feature code, gcp and azure support the required data, and they're planning to investigate how they can work around the shortcoming in next release. I'm requesting the test be left on as informing as that at least gives us some data that it works some of the time, and an additional thing we may notice to make sure this doesn't get dropped. If it's informing, in the future, we hope to enforce and monitor what's in that state for too long. (we don't today)

From my PoV this gap specifically for the scaleup test sounds ok though certainly not ideal, but I've tentatively added my approval on the SBAR, we can discuss more if anyone objects either in that document or here though.

@proietfb

Copy link
Copy Markdown
Member Author

In their SBAR the team has requested another exception for both vsphere and AWS specifically for the scaleup test. They have discovered both platforms lack the ability to reliably inspect the disks as needed for the test to pass. They've confirmed this is test code not feature code, gcp and azure support the required data, and they're planning to investigate how they can work around the shortcoming in next release. I'm requesting the test be left on as informing as that at least gives us some data that it works some of the time, and an additional thing we may notice to make sure this doesn't get dropped. If it's informing, in the future, we hope to enforce and monitor what's in that state for too long. (we don't today)

From my PoV this gap specifically for the scaleup test sounds ok though certainly not ideal, but I've tentatively added my approval on the SBAR, we can discuss more if anyone objects either in that document or here though.

Thanks @dgoodwin.

In the short term, we can revert this PR—which removes the skip logic for vSphere and AWS—and reintroduce the workaround for AWS only. This would bring the test suite back to its original state. Like all the previous runs present in Sippy, with this setup, I'd expect we’ll see some vSphere failures in the scale-up test as the run count increases, which can serve as our informing signal.

Let me know what you’d prefer to do, either here or directly in the SBAR. Thanks for your time!

@proietfb

proietfb commented Jul 30, 2026

Copy link
Copy Markdown
Member Author

If it's informing, in the future, we hope to enforce and monitor what's in that state for too long

Kindly, if needed, let us know if there are any specific labels or metadata that should be added to the scale-up test.

@everettraven

Copy link
Copy Markdown
Contributor

@proietfb could you get this PR rebased? Once that is done I'll run another promotion verification with the new additions to the SBAR that have been approved by @dgoodwin

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 3, 2026
@proietfb

proietfb commented Aug 3, 2026

Copy link
Copy Markdown
Member Author

@proietfb could you get this PR rebased? Once that is done I'll run another promotion verification with the new additions to the SBAR that have been approved by @dgoodwin

Thank you @everettraven . I'll apply rebase. Also, I've just opened the PR to mark scale-up test informing for all platforms.

@proietfb
proietfb force-pushed the IC_Feature_promotion branch from f73a676 to 4630b58 Compare August 3, 2026 17:16
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 3, 2026
@proietfb

proietfb commented Aug 3, 2026

Copy link
Copy Markdown
Member Author

/test verify-hypershift-integration

@qodo-for-rh-openshift

qodo-for-rh-openshift Bot commented Aug 3, 2026

Copy link
Copy Markdown

PR-Agent: could not find a component named verify-hypershift-integration in a supported language in this PR.

@proietfb

proietfb commented Aug 4, 2026

Copy link
Copy Markdown
Member Author

/test verify-hypershift-integration

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 4, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-ovn
/test e2e-aws-ovn-hypershift
/test e2e-aws-ovn-hypershift-conformance
/test e2e-aws-ovn-techpreview
/test e2e-aws-serial-1of2
/test e2e-aws-serial-2of2
/test e2e-aws-serial-techpreview-1of2
/test e2e-aws-serial-techpreview-2of2
/test e2e-azure
/test e2e-gcp
/test e2e-upgrade
/test e2e-upgrade-out-of-change
/test minor-e2e-upgrade-minor

@openshift-ci openshift-ci Bot added approved Indicates a PR has been approved by an approver from all required OWNERS files. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Aug 4, 2026
@proietfb
proietfb force-pushed the IC_Feature_promotion branch from 4630b58 to e4589de Compare August 5, 2026 08:38
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Aug 5, 2026
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 5, 2026
@proietfb
proietfb force-pushed the IC_Feature_promotion branch from e4589de to 502ebf7 Compare August 5, 2026 09:39
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@proietfb

proietfb commented Aug 5, 2026

Copy link
Copy Markdown
Member Author

/pipeline required

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-ovn
/test e2e-aws-ovn-hypershift
/test e2e-aws-ovn-hypershift-conformance
/test e2e-aws-ovn-techpreview
/test e2e-aws-serial-1of2
/test e2e-aws-serial-2of2
/test e2e-aws-serial-techpreview-1of2
/test e2e-aws-serial-techpreview-2of2
/test e2e-azure
/test e2e-gcp
/test e2e-upgrade
/test e2e-upgrade-out-of-change
/test minor-e2e-upgrade-minor

@everettraven

Copy link
Copy Markdown
Contributor

/lgtm
/approve

Feature has met promotion requirements based on SBAR updates and approval of them from @dgoodwin .

/override ci/prow/verify-feature-promotion

@everettraven

Copy link
Copy Markdown
Contributor

HyperShift integration test has a known issue that a fix is being pursued separately.

/override-sticky ci/prow/verify-hypershift-integration

@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

@everettraven: Overrode contexts on behalf of everettraven: ci/prow/verify-feature-promotion

Details

In response to this:

/lgtm
/approve

Feature has met promotion requirements based on SBAR updates and approval of them from @dgoodwin .

/override ci/prow/verify-feature-promotion

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.

@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

@everettraven: Overrode contexts on behalf of everettraven: ci/prow/verify-hypershift-integration

These overrides will persist across retests on the current HEAD SHA. Pushing a new commit will clear them. Use /override-cancel to remove them.

Details

In response to this:

HyperShift integration test has a known issue that a fix is being pursued separately.

/override-sticky ci/prow/verify-hypershift-integration

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.

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 5, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage.

@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: everettraven

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

@proietfb

proietfb commented Aug 5, 2026

Copy link
Copy Markdown
Member Author

/test e2e-aws-ovn-hypershift

@qodo-for-rh-openshift

qodo-for-rh-openshift Bot commented Aug 5, 2026

Copy link
Copy Markdown

PR-Agent: could not find a component named e2e-aws-ovn-hypershift in a supported language in this PR.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD b612430 and 2 for PR HEAD 502ebf7 in total

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD cfb6385 and 1 for PR HEAD 502ebf7 in total

@proietfb

proietfb commented Aug 6, 2026

Copy link
Copy Markdown
Member Author

FYI @everettraven A required retest it seems has deleted your override for verify-feature-promotion test

@everettraven

Copy link
Copy Markdown
Contributor

/override ci/prow/verify-feature-promotion

@openshift-ci

openshift-ci Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

@everettraven: Overrode contexts on behalf of everettraven: ci/prow/verify-feature-promotion

Details

In response to this:

/override ci/prow/verify-feature-promotion

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.

@openshift-ci

openshift-ci Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

@proietfb: all tests passed!

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.

@openshift-merge-bot
openshift-merge-bot Bot merged commit 7f3965b into openshift:master Aug 6, 2026
29 checks passed
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. lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants