diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml index 1ae221ca458..12cc1662572 100644 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml @@ -324,15 +324,19 @@ spec: is Name, and forbidden otherwise rule: 'has(self.type) && self.type == ''Name'' ? has(self.name) : !has(self.name)' - maxItems: 1 + maxItems: 32 minItems: 1 type: array x-kubernetes-list-type: atomic + x-kubernetes-validations: + - message: each subnet must be unique + rule: self.all(x, self.exists_one(y, x == y)) required: - cluster - name - subnets type: object + maxItems: 32 type: array x-kubernetes-list-map-keys: - name diff --git a/features.md b/features.md index bc5794ffb27..3b5f1007c6c 100644 --- a/features.md +++ b/features.md @@ -57,7 +57,6 @@ | MultiDiskSetup| | | Enabled | Enabled | Enabled | Enabled | | MutatingAdmissionPolicy| | | Enabled | Enabled | Enabled | Enabled | | NodeSwap| | | Enabled | Enabled | Enabled | Enabled | -| NutanixMultiSubnets| | | Enabled | Enabled | Enabled | Enabled | | OVNObservability| | | Enabled | Enabled | Enabled | Enabled | | PreconfiguredUDNAddresses| | | Enabled | Enabled | Enabled | Enabled | | SELinuxMount| | | Enabled | Enabled | Enabled | Enabled | @@ -92,6 +91,8 @@ | NetworkDiagnosticsConfig| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | NetworkLiveMigration| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | NetworkSegmentation| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| NutanixMultiSubnets| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| OnClusterBuild| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | OpenShiftPodSecurityAdmission| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | PinnedImages| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ProcMountType| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | diff --git a/features/features.go b/features/features.go index 5b8e694263c..f644d697cfc 100644 --- a/features/features.go +++ b/features/features.go @@ -674,7 +674,7 @@ var ( contactPerson("yanhli"). productScope(ocpSpecific). enhancementPR("https://github.com/openshift/enhancements/pull/1711"). - enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateKMSEncryptionProvider = newFeatureGate("KMSEncryptionProvider"). diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml index 96b84fb71be..24fbc4410b7 100644 --- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml +++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml @@ -606,15 +606,20 @@ spec: when type is Name, and forbidden otherwise rule: 'has(self.type) && self.type == ''Name'' ? has(self.name) : !has(self.name)' - maxItems: 1 + maxItems: 32 minItems: 1 type: array x-kubernetes-list-type: atomic + x-kubernetes-validations: + - message: each subnet must be unique + rule: self.all(x, self.exists_one(y, x == + y)) required: - cluster - name - subnets type: object + maxItems: 32 type: array x-kubernetes-list-map-keys: - name diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Default.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Default.crd.yaml index 1ae221ca458..deadb27f833 100644 --- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Default.crd.yaml +++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Default.crd.yaml @@ -324,7 +324,7 @@ spec: is Name, and forbidden otherwise rule: 'has(self.type) && self.type == ''Name'' ? has(self.name) : !has(self.name)' - maxItems: 1 + maxItems: 32 minItems: 1 type: array x-kubernetes-list-type: atomic diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml index 96b84fb71be..6301d023e91 100644 --- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml +++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml @@ -606,7 +606,7 @@ spec: when type is Name, and forbidden otherwise rule: 'has(self.type) && self.type == ''Name'' ? has(self.name) : !has(self.name)' - maxItems: 1 + maxItems: 32 minItems: 1 type: array x-kubernetes-list-type: atomic diff --git a/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml b/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml index 1ac74a693a6..4504dbac968 100644 --- a/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml +++ b/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml @@ -178,9 +178,6 @@ { "name": "NodeSwap" }, - { - "name": "NutanixMultiSubnets" - }, { "name": "OVNObservability" }, @@ -291,6 +288,12 @@ { "name": "NetworkSegmentation" }, + { + "name": "NutanixMultiSubnets" + }, + { + "name": "OnClusterBuild" + }, { "name": "OpenShiftPodSecurityAdmission" }, diff --git a/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml b/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml index 3e8a17fc57c..5ab0c8adc12 100644 --- a/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml +++ b/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml @@ -178,9 +178,6 @@ { "name": "NodeSwap" }, - { - "name": "NutanixMultiSubnets" - }, { "name": "OVNObservability" }, @@ -291,6 +288,12 @@ { "name": "NewOLM" }, + { + "name": "NutanixMultiSubnets" + }, + { + "name": "OnClusterBuild" + }, { "name": "OpenShiftPodSecurityAdmission" },