CNTRLPLANE-3871: promote OSStreams feature gate to Default for Hypershift#2950
CNTRLPLANE-3871: promote OSStreams feature gate to Default for Hypershift#2950jparrill wants to merge 1 commit into
Conversation
…Hypershift With the MCO ExternalTopologyMode guard removed (openshift/machine-config-operator#6308), HyperShift clusters can now process OSImageStream during bootstrap. This graduates the OSStreams feature gate from TechPreviewNoUpgrade to Default for the Hypershift cluster profile, enabling RHEL 9/10 dual-stream support for hosted control planes by default. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> Signed-off-by: Juan Manuel Parrilla Madrid <[email protected]>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@jparrill: This pull request references CNTRLPLANE-3871 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
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. |
|
Hello @jparrill! Some important instructions when contributing to openshift/api: |
📝 WalkthroughWalkthroughOSStreams enablement was updated to include the Hypershift cluster profile, and its state was changed from disabled to enabled in the Hypershift Default and OKD feature-gate manifests. Its feature listing position was also changed. MachineConfigPool and OSImageStream CRDs received IBM Cloud Managed release annotations. Hypershift-specific MachineConfigPool and OSImageStream CRD manifests were removed. 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
PR Summary by QodoPromote OSStreams feature gate to Default/OKD for HyperShift and consolidate CRDs
AI Description
Diagram
High-Level Assessment
Files changed (9)
|
|
/test verify-hypershift-integration |
|
PR-Agent: could not find a component named |
|
@jparrill: 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. |
…boot images Replace hardcoded StreamRHEL9 with dynamic resolution via getRHELStreamForBootImage across all platform controllers (AWS, OpenStack, KubeVirt) and the central ConfigGenerator. With MCO PR openshift/machine-config-operator#6308 merged and the OSStreams feature gate promoted to Default for Hypershift (openshift/api#2950), the MCO can now process OSImageStream during bootstrap. NodePools can resolve the correct RHEL stream (9 or 10) based on release version, explicit spec.osImageStream, and container runtime configuration. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> Signed-off-by: Juan Manuel Parrilla Madrid <[email protected]>
…boot images Replace hardcoded StreamRHEL9 with dynamic resolution via getRHELStreamForBootImage across all platform controllers (AWS, OpenStack, KubeVirt) and the central ConfigGenerator. With MCO PR openshift/machine-config-operator#6308 merged and the OSStreams feature gate promoted to Default for Hypershift (openshift/api#2950), the MCO can now process OSImageStream during bootstrap. NodePools can resolve the correct RHEL stream (9 or 10) based on release version, explicit spec.osImageStream, and container runtime configuration. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> Signed-off-by: Juan Manuel Parrilla Madrid <[email protected]>
| enable(inClusterProfile(SelfManaged), inDevPreviewNoUpgrade(), inTechPreviewNoUpgrade(), inDefault(), inOKD()). | ||
| enable(inClusterProfile(Hypershift), inDevPreviewNoUpgrade(), inTechPreviewNoUpgrade()). | ||
| enable(inClusterProfile(Hypershift), inDevPreviewNoUpgrade(), inTechPreviewNoUpgrade(), inDefault(), inOKD()). |
There was a problem hiding this comment.
We can condense this
| enable(inClusterProfile(SelfManaged), inDevPreviewNoUpgrade(), inTechPreviewNoUpgrade(), inDefault(), inOKD()). | |
| enable(inClusterProfile(Hypershift), inDevPreviewNoUpgrade(), inTechPreviewNoUpgrade()). | |
| enable(inClusterProfile(Hypershift), inDevPreviewNoUpgrade(), inTechPreviewNoUpgrade(), inDefault(), inOKD()). | |
| enable(inDevPreviewNoUpgrade(), inTechPreviewNoUpgrade(), inDefault(), inOKD()). |
|
@jparrill I'm trying to find any testing of the osstreams feature on hypershift, I may be holding sippy wrong but filtering to |
|
Hey @JoelSpeed Yes they are, but it's not testing the feature properly, let me explain:
From your question and the email about stabilization I assume we need at least 14 consistent runs of the e2e (without things hardcoded), am I right? If that so, we will need the other PR merged before this move ahead. If you know any other way to move on, please let me know. |
This is the general expectation yes. We want to see data that shows that the feature is stable before we consider it promoted. Is the dynamic resolution of the boot image gated behind this feature gate? |
| annotations: | ||
| api-approved.openshift.io: https://github.com/openshift/api/pull/2555 | ||
| api.openshift.io/merged-by-featuregates: "true" | ||
| include.release.openshift.io/ibm-cloud-managed: "true" |
There was a problem hiding this comment.
This resource has been shipped on HCP TP the whole time, this PR is consolidating the files now they no longer carry a diff
Was it a mistake to be shipping this on HCP?
… on hosted clusters in e2e-v2-aws Set GUEST_FEATURE_SET=TechPreviewNoUpgrade so the hosted cluster MCO processes OSImageStream manifests. This is needed to validate the dual-stream RHEL 9/10 feature (OSStreams) in HyperShift E2E tests. This is a temporary measure: once the E2E tests pass consistently, we can graduate the OSStreams feature gate to Default for Hypershift (openshift/api#2950), after which GUEST_FEATURE_SET can be reverted back to Default since OSStreams will be active without TechPreview. The management cluster HO already runs with TechPreview via TECH_PREVIEW_NO_UPGRADE, but the hosted cluster was using Default, causing the MCO to ignore the 99_osimagestream.yaml manifest written by the ignition-server. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> Signed-off-by: Juan Manuel Parrilla Madrid <[email protected]>
…gestream job Add a dedicated CI job that creates the hosted cluster with TechPreviewNoUpgrade feature set to validate OSImageStream (dual-stream RHEL 9/10) in HyperShift E2E tests. The e2e-v2-aws job creates hosted clusters with Default feature set, where the MCO ignores 99_osimagestream.yaml because OSStreams FG is not active. This new job runs only the nodepool-osimagestream tests against a TechPreview hosted cluster. TODO(CNTRLPLANE-3871): Remove this job after the OSStreams feature gate is graduated to Default for the Hypershift cluster profile (openshift/api#2950). After graduation, the osimagestream tests can move back to the standard e2e-v2-aws workflow. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> Signed-off-by: Juan Manuel Parrilla Madrid <[email protected]>
…gestream job Add a dedicated CI job that creates the hosted cluster with TechPreviewNoUpgrade feature set to validate OSImageStream (dual-stream RHEL 9/10) in HyperShift E2E tests. The e2e-v2-aws job creates hosted clusters with Default feature set, where the MCO ignores 99_osimagestream.yaml because OSStreams FG is not active. This new job runs only the nodepool-osimagestream tests against a TechPreview hosted cluster. TODO(CNTRLPLANE-3871): Remove this job after the OSStreams feature gate is graduated to Default for the Hypershift cluster profile (openshift/api#2950). After graduation, the osimagestream tests can move back to the standard e2e-v2-aws workflow. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> Signed-off-by: Juan Manuel Parrilla Madrid <[email protected]>
…gestream job Add a dedicated CI job that creates the hosted cluster with TechPreviewNoUpgrade feature set to validate OSImageStream (dual-stream RHEL 9/10) in HyperShift E2E tests. The e2e-v2-aws job creates hosted clusters with Default feature set, where the MCO ignores 99_osimagestream.yaml because OSStreams FG is not active. This new job runs only the nodepool-osimagestream tests against a TechPreview hosted cluster. TODO(CNTRLPLANE-3871): Remove this job after the OSStreams feature gate is graduated to Default for the Hypershift cluster profile (openshift/api#2950). After graduation, the osimagestream tests can move back to the standard e2e-v2-aws workflow. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> Signed-off-by: Juan Manuel Parrilla Madrid <[email protected]>
Summary
Promote the
OSStreamsfeature gate fromTechPreviewNoUpgradetoDefaultfor the Hypershift cluster profile. This enables RHEL 9/10 dual-stream support for hosted control planes by default.What changed
features/features.go: AddedinDefault(), inOKD()to the Hypershift profile enable line forFeatureGateOSStreamsDependency chain
lifecyclelabel from osimagestream testsAlready merged
Fixes
🤖 Generated with Claude Code