CNTRLPLANE-3840: Remove ExternalTopologyMode guard from OSImageStream bootstrap - #6308
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@jparrill: This pull request references CNTRLPLANE-3840 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. |
WalkthroughBootstrap now enables OSImageStreams solely from the feature gate and selects a ControllerConfig release image when no Release ImageStream is available. Table-driven HyperShift tests cover both paths. ChangesOSImageStream bootstrap behavior
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
/lgtm |
|
ptal @pablintino @yuqi-zhang |
|
Scheduling tests matching the |
|
/approve |
|
/retest |
|
/hold cancel |
|
/retest-required |
|
/retest-required Lookup failure: |
|
/retest-required |
|
/retest |
|
/retest-required |
|
197543c to
90d28b3
Compare
|
/retest |
|
/test e2e-hypershift |
1 similar comment
|
/test e2e-hypershift |
|
/label acknowledge-critical-fixes-only |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: enxebre, jparrill, pablintino The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@jparrill: This PR has been marked as verified by 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. |
|
/pipeline required |
|
Scheduling tests matching the |
|
/retest-required |
|
/retest-required |
|
/retest-required |
|
@jparrill: all tests passed! 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) <noreply@anthropic.com> Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com>
…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) <noreply@anthropic.com> Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com>
…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) <noreply@anthropic.com> Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com>
…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) <noreply@anthropic.com> Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com>
…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) <noreply@anthropic.com> Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com> rh-pre-commit.version: 2.4.0 rh-pre-commit.check-secrets: ENABLED
…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) <noreply@anthropic.com> Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com> rh-pre-commit.version: 2.4.0 rh-pre-commit.check-secrets: ENABLED
…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) <noreply@anthropic.com> Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com> rh-pre-commit.version: 2.4.0 rh-pre-commit.check-secrets: ENABLED Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com>
…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) <noreply@anthropic.com> Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com> rh-pre-commit.version: 2.4.0 rh-pre-commit.check-secrets: ENABLED Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com>
…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) <noreply@anthropic.com> Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com> rh-pre-commit.version: 2.4.0 rh-pre-commit.check-secrets: ENABLED Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com>
…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) <noreply@anthropic.com> Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com> rh-pre-commit.version: 2.4.0 rh-pre-commit.check-secrets: ENABLED Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com>
…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) <noreply@anthropic.com> Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com>
…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) <noreply@anthropic.com> Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com>
Summary
ExternalTopologyModeguard inpkg/controller/bootstrap/bootstrap.gothat prevented HyperShift from consuming OSImageStream during node bootstrappingTestBootstrapRunHypershiftto table-driven format covering both feature gate enabled and disabled scenariosContext
The guard was added by MCO-2146 (PR #5750) because HyperShift did not yet write stream selection into the synthetic MachineConfigPool. Now that HyperShift writes
99_osimagestream.yamlinto the MCC template directory (openshift/hypershift#8792), the guard is no longer needed.Note: The
OSStreamsfeature gate is currently enabled for the Hypershift cluster profile only inTechPreviewNoUpgradeandDevPreviewNoUpgrade(openshift/api features.go:927). Enabling it in Default for Hypershift requires a separate change inopenshift/api. This PR is a prerequisite — without it, the guard would block OSImageStream processing even after the feature gate is promoted.Jira: https://redhat.atlassian.net/browse/CNTRLPLANE-3840
Test plan
TestBootstrapRunHypershift/When_OSStreams_feature_gate_is_enabled_it_should_consume_OSImageStreampassesTestBootstrapRunHypershift/When_OSStreams_feature_gate_is_disabled_it_should_not_consume_OSImageStreampassesTestBootstrapRunsubtests pass🤖 Generated with Claude Code
Summary by CodeRabbit