Skip to content

Promote IrreconcilableMachineConfig to GA - #2929

Open
proietfb wants to merge 1 commit into
openshift:masterfrom
proietfb:IC_Feature_promotion
Open

Promote IrreconcilableMachineConfig to GA#2929
proietfb wants to merge 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

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: 00e9a84b-70de-4b0d-afd4-c3f618c4b3c5

📥 Commits

Reviewing files that changed from the base of the PR and between f73a676 and 4630b58.

⛔ Files ignored due to path filters (7)
  • machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfignodes-Default.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfignodes-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 (13)
  • features.md
  • features/features.go
  • payload-manifests/crds/0000_80_machine-config_01_machineconfignodes-Default.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_machineconfignodes-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 skipped from review as they are similar to previous changes (9)
  • payload-manifests/crds/0000_80_machine-config_01_machineconfignodes-OKD.crd.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
  • payload-manifests/crds/0000_80_machine-config_01_machineconfigurations.crd.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
  • features.md
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
  • payload-manifests/crds/0000_80_machine-config_01_machineconfignodes-Default.crd.yaml
  • features/features.go

📝 Walkthrough

Walkthrough

IrreconcilableMachineConfig is enabled for default and OKD configurations. Feature-gate manifests move it from disabled to enabled lists. The feature table row is repositioned, and the CustomNoUpgrade annotation is removed from the MachineConfigurations CRD. MachineConfigNode CRD schemas add optional status.irreconcilableChanges entries with validation constraints.

Suggested reviewers: joelspeed, everettraven

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the primary change: promotion of the IrreconcilableMachineConfig feature gate to GA.
Description check ✅ Passed The description directly explains the feature-gate promotion and links the related tracking and test references.
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 gates and CRD/manifests; the diff adds or modifies no Ginkgo test declarations or test titles.
Test Structure And Quality ✅ Passed The PR changes only feature-gate, manifest, CRD, and documentation files; no Ginkgo test code or test files changed, so this check is not applicable.
Microshift Test Compatibility ✅ Passed The pull request changes only feature gates and CRD/manifests; no new Ginkgo e2e test files or test cases were added, so this check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The PR changes only feature-gate declarations, manifests, and CRD files; it adds or modifies no Ginkgo e2e tests, so SNO compatibility checks do not apply.
Topology-Aware Scheduling Compatibility ✅ Passed The commit changes feature-gate membership and CRD schema fields only; no affinity, topology spread, selectors, tolerations, replicas, PDB, or workload scheduling constraints were added.
Ote Binary Stdout Contract ✅ Passed The PR changes only feature-gate/CRD data; no OTE binary or process-level stdout write is introduced, and suite logging uses GinkgoWriter.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The patch adds no Ginkgo test declarations or test files, and the added content contains no IPv4 assumptions or external connectivity requirements.
No-Weak-Crypto ✅ Passed The patch adds only feature-gate, CRD, and manifest data; the added-line scan found no MD5, SHA1, DES, RC4, Blowfish, ECB, crypto code, or secret comparisons.
Container-Privileges ✅ Passed The PR changes only feature-gate data and CRD schemas; added-line scanning found no privileged, host namespace, SYS_ADMIN, escalation, or root settings.
No-Sensitive-Data-In-Logs ✅ Passed This PR contains no logging code that could expose sensitive data. Changes include feature gate configuration, YAML manifests, and CRD schema definitions only—no logging directives or code added.
✨ 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 commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign joelspeed for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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 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.

@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@proietfb: The following tests 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/verify-hypershift-integration 4630b58 link true /test verify-hypershift-integration
ci/prow/verify-feature-promotion 4630b58 link true /test verify-feature-promotion

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants