diff --git a/features.md b/features.md
index afa64782571..a42da4d9344 100644
--- a/features.md
+++ b/features.md
@@ -59,7 +59,6 @@
| IrreconcilableMachineConfig| | | Enabled | Enabled | | | Enabled | Enabled |
| KMSEncryption| | | Enabled | Enabled | | | Enabled | Enabled |
| MachineAPIMigration| | | Enabled | Enabled | | | Enabled | Enabled |
-| ManagedBootImagesCPMS| | | Enabled | Enabled | | | Enabled | Enabled |
| MaxUnavailableStatefulSet| | | Enabled | Enabled | | | Enabled | Enabled |
| MinimumKubeletVersion| | | Enabled | Enabled | | | Enabled | Enabled |
| MixedCPUsAllocation| | | Enabled | Enabled | | | Enabled | Enabled |
@@ -98,6 +97,7 @@
| ManagedBootImages| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| ManagedBootImagesAWS| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| ManagedBootImagesAzure| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
+| ManagedBootImagesCPMS| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| ManagedBootImagesvSphere| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| MetricsCollectionProfiles| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| NetworkDiagnosticsConfig| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
diff --git a/features/features.go b/features/features.go
index 187edb0e164..719c06a6262 100644
--- a/features/features.go
+++ b/features/features.go
@@ -358,7 +358,7 @@ var (
contactPerson("djoshy").
productScope(ocpSpecific).
enhancementPR("https://github.com/openshift/enhancements/pull/1818").
- enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
+ enableIn(configv1.Default, configv1.OKD, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
mustRegister()
FeatureGateBootImageSkewEnforcement = newFeatureGate("BootImageSkewEnforcement").
diff --git a/operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-Default.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-Default.crd.yaml
index 3de28dcdf34..2e65e97c84d 100644
--- a/operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-Default.crd.yaml
+++ b/operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-Default.crd.yaml
@@ -108,6 +108,7 @@ spec:
controlplanemachinesets means that the machine manager will only register resources of the kind ControlPlaneMachineSet.
enum:
- machinesets
+ - controlplanemachinesets
type: string
selection:
description: selection allows granular control of the machine
@@ -197,6 +198,11 @@ spec:
- resource
- selection
type: object
+ x-kubernetes-validations:
+ - message: Only All or None selection mode is permitted for
+ ControlPlaneMachineSets
+ rule: self.resource != 'controlplanemachinesets' || self.selection.mode
+ == 'All' || self.selection.mode == 'None'
maxItems: 5
type: array
x-kubernetes-list-map-keys:
@@ -741,6 +747,7 @@ spec:
controlplanemachinesets means that the machine manager will only register resources of the kind ControlPlaneMachineSet.
enum:
- machinesets
+ - controlplanemachinesets
type: string
selection:
description: selection allows granular control of the machine
@@ -830,6 +837,11 @@ spec:
- resource
- selection
type: object
+ x-kubernetes-validations:
+ - message: Only All or None selection mode is permitted for
+ ControlPlaneMachineSets
+ rule: self.resource != 'controlplanemachinesets' || self.selection.mode
+ == 'All' || self.selection.mode == 'None'
maxItems: 5
type: array
x-kubernetes-list-map-keys:
diff --git a/operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-OKD.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-OKD.crd.yaml
index 6c763ea479e..1d160022849 100644
--- a/operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-OKD.crd.yaml
+++ b/operator/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfigurations-OKD.crd.yaml
@@ -108,6 +108,7 @@ spec:
controlplanemachinesets means that the machine manager will only register resources of the kind ControlPlaneMachineSet.
enum:
- machinesets
+ - controlplanemachinesets
type: string
selection:
description: selection allows granular control of the machine
@@ -197,6 +198,11 @@ spec:
- resource
- selection
type: object
+ x-kubernetes-validations:
+ - message: Only All or None selection mode is permitted for
+ ControlPlaneMachineSets
+ rule: self.resource != 'controlplanemachinesets' || self.selection.mode
+ == 'All' || self.selection.mode == 'None'
maxItems: 5
type: array
x-kubernetes-list-map-keys:
@@ -741,6 +747,7 @@ spec:
controlplanemachinesets means that the machine manager will only register resources of the kind ControlPlaneMachineSet.
enum:
- machinesets
+ - controlplanemachinesets
type: string
selection:
description: selection allows granular control of the machine
@@ -830,6 +837,11 @@ spec:
- resource
- selection
type: object
+ x-kubernetes-validations:
+ - message: Only All or None selection mode is permitted for
+ ControlPlaneMachineSets
+ rule: self.resource != 'controlplanemachinesets' || self.selection.mode
+ == 'All' || self.selection.mode == 'None'
maxItems: 5
type: array
x-kubernetes-list-map-keys:
diff --git a/payload-manifests/crds/0000_80_machine-config_01_machineconfigurations-Default.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_machineconfigurations-Default.crd.yaml
index 3de28dcdf34..2e65e97c84d 100644
--- a/payload-manifests/crds/0000_80_machine-config_01_machineconfigurations-Default.crd.yaml
+++ b/payload-manifests/crds/0000_80_machine-config_01_machineconfigurations-Default.crd.yaml
@@ -108,6 +108,7 @@ spec:
controlplanemachinesets means that the machine manager will only register resources of the kind ControlPlaneMachineSet.
enum:
- machinesets
+ - controlplanemachinesets
type: string
selection:
description: selection allows granular control of the machine
@@ -197,6 +198,11 @@ spec:
- resource
- selection
type: object
+ x-kubernetes-validations:
+ - message: Only All or None selection mode is permitted for
+ ControlPlaneMachineSets
+ rule: self.resource != 'controlplanemachinesets' || self.selection.mode
+ == 'All' || self.selection.mode == 'None'
maxItems: 5
type: array
x-kubernetes-list-map-keys:
@@ -741,6 +747,7 @@ spec:
controlplanemachinesets means that the machine manager will only register resources of the kind ControlPlaneMachineSet.
enum:
- machinesets
+ - controlplanemachinesets
type: string
selection:
description: selection allows granular control of the machine
@@ -830,6 +837,11 @@ spec:
- resource
- selection
type: object
+ x-kubernetes-validations:
+ - message: Only All or None selection mode is permitted for
+ ControlPlaneMachineSets
+ rule: self.resource != 'controlplanemachinesets' || self.selection.mode
+ == 'All' || self.selection.mode == 'None'
maxItems: 5
type: array
x-kubernetes-list-map-keys:
diff --git a/payload-manifests/crds/0000_80_machine-config_01_machineconfigurations-OKD.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_machineconfigurations-OKD.crd.yaml
index 6c763ea479e..1d160022849 100644
--- a/payload-manifests/crds/0000_80_machine-config_01_machineconfigurations-OKD.crd.yaml
+++ b/payload-manifests/crds/0000_80_machine-config_01_machineconfigurations-OKD.crd.yaml
@@ -108,6 +108,7 @@ spec:
controlplanemachinesets means that the machine manager will only register resources of the kind ControlPlaneMachineSet.
enum:
- machinesets
+ - controlplanemachinesets
type: string
selection:
description: selection allows granular control of the machine
@@ -197,6 +198,11 @@ spec:
- resource
- selection
type: object
+ x-kubernetes-validations:
+ - message: Only All or None selection mode is permitted for
+ ControlPlaneMachineSets
+ rule: self.resource != 'controlplanemachinesets' || self.selection.mode
+ == 'All' || self.selection.mode == 'None'
maxItems: 5
type: array
x-kubernetes-list-map-keys:
@@ -741,6 +747,7 @@ spec:
controlplanemachinesets means that the machine manager will only register resources of the kind ControlPlaneMachineSet.
enum:
- machinesets
+ - controlplanemachinesets
type: string
selection:
description: selection allows granular control of the machine
@@ -830,6 +837,11 @@ spec:
- resource
- selection
type: object
+ x-kubernetes-validations:
+ - message: Only All or None selection mode is permitted for
+ ControlPlaneMachineSets
+ rule: self.resource != 'controlplanemachinesets' || self.selection.mode
+ == 'All' || self.selection.mode == 'None'
maxItems: 5
type: array
x-kubernetes-list-map-keys:
diff --git a/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml b/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml
index 326d875acd8..c1f0d56e9b5 100644
--- a/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml
+++ b/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml
@@ -162,9 +162,6 @@
{
"name": "MachineAPIOperatorDisableMachineHealthCheckController"
},
- {
- "name": "ManagedBootImagesCPMS"
- },
{
"name": "MaxUnavailableStatefulSet"
},
@@ -308,6 +305,9 @@
{
"name": "ManagedBootImagesAzure"
},
+ {
+ "name": "ManagedBootImagesCPMS"
+ },
{
"name": "ManagedBootImagesvSphere"
},
diff --git a/payload-manifests/featuregates/featureGate-Hypershift-OKD.yaml b/payload-manifests/featuregates/featureGate-Hypershift-OKD.yaml
index 91f2cd1e720..e109cac7a6d 100644
--- a/payload-manifests/featuregates/featureGate-Hypershift-OKD.yaml
+++ b/payload-manifests/featuregates/featureGate-Hypershift-OKD.yaml
@@ -164,9 +164,6 @@
{
"name": "MachineAPIOperatorDisableMachineHealthCheckController"
},
- {
- "name": "ManagedBootImagesCPMS"
- },
{
"name": "MaxUnavailableStatefulSet"
},
@@ -310,6 +307,9 @@
{
"name": "ManagedBootImagesAzure"
},
+ {
+ "name": "ManagedBootImagesCPMS"
+ },
{
"name": "ManagedBootImagesvSphere"
},
diff --git a/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml b/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
index 43c5affe7e2..9da9f6258e6 100644
--- a/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
+++ b/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
@@ -165,9 +165,6 @@
{
"name": "MachineAPIOperatorDisableMachineHealthCheckController"
},
- {
- "name": "ManagedBootImagesCPMS"
- },
{
"name": "MaxUnavailableStatefulSet"
},
@@ -299,6 +296,9 @@
{
"name": "ManagedBootImagesAzure"
},
+ {
+ "name": "ManagedBootImagesCPMS"
+ },
{
"name": "ManagedBootImagesvSphere"
},
diff --git a/payload-manifests/featuregates/featureGate-SelfManagedHA-OKD.yaml b/payload-manifests/featuregates/featureGate-SelfManagedHA-OKD.yaml
index 9c72a8df94f..38d3abb8a9f 100644
--- a/payload-manifests/featuregates/featureGate-SelfManagedHA-OKD.yaml
+++ b/payload-manifests/featuregates/featureGate-SelfManagedHA-OKD.yaml
@@ -167,9 +167,6 @@
{
"name": "MachineAPIOperatorDisableMachineHealthCheckController"
},
- {
- "name": "ManagedBootImagesCPMS"
- },
{
"name": "MaxUnavailableStatefulSet"
},
@@ -301,6 +298,9 @@
{
"name": "ManagedBootImagesAzure"
},
+ {
+ "name": "ManagedBootImagesCPMS"
+ },
{
"name": "ManagedBootImagesvSphere"
},