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 6dcc0cfb6aa..75f1a0c81ef 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
@@ -827,6 +827,17 @@ spec:
- topology
- zone
type: object
+ x-kubernetes-validations:
+ - message: when zoneAffinity type is HostGroup, regionAffinity
+ type must be ComputeCluster
+ rule: 'has(self.zoneAffinity) && self.zoneAffinity.type
+ == ''HostGroup'' ? has(self.regionAffinity) && self.regionAffinity.type
+ == ''ComputeCluster'' : true'
+ - message: when zoneAffinity type is ComputeCluster, regionAffinity
+ type must be Datacenter
+ rule: 'has(self.zoneAffinity) && self.zoneAffinity.type
+ == ''ComputeCluster'' ? has(self.regionAffinity) &&
+ self.regionAffinity.type == ''Datacenter'' : true'
type: array
x-kubernetes-list-map-keys:
- name
diff --git a/features.md b/features.md
index c20741dfa28..f114438525f 100644
--- a/features.md
+++ b/features.md
@@ -61,7 +61,6 @@
| TranslateStreamCloseWebsocketRequests| | | Enabled | Enabled | Enabled | Enabled |
| UpgradeStatus| | | Enabled | Enabled | Enabled | Enabled |
| VSphereConfigurableMaxAllowedBlockVolumesPerNode| | | Enabled | Enabled | Enabled | Enabled |
-| VSphereHostVMGroupZonal| | | Enabled | Enabled | Enabled | Enabled |
| VSphereMultiDisk| | | Enabled | Enabled | Enabled | Enabled |
| VolumeAttributesClass| | | Enabled | Enabled | Enabled | Enabled |
| VolumeGroupSnapshot| | | Enabled | Enabled | Enabled | Enabled |
@@ -97,4 +96,5 @@
| SetEIPForNLBIngressController| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| UserNamespacesPodSecurityStandards| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| UserNamespacesSupport| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
+| VSphereHostVMGroupZonal| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| VSphereMultiNetworks| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
diff --git a/features/features.go b/features/features.go
index ac87294baca..ac3c5305373 100644
--- a/features/features.go
+++ b/features/features.go
@@ -184,7 +184,7 @@ var (
contactPerson("jcpowermac").
productScope(ocpSpecific).
enhancementPR("https://github.com/openshift/enhancements/pull/1677").
- enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
+ enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
mustRegister()
FeatureGateVSphereMultiDisk = newFeatureGate("VSphereMultiDisk").
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 6dcc0cfb6aa..75f1a0c81ef 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
@@ -827,6 +827,17 @@ spec:
- topology
- zone
type: object
+ x-kubernetes-validations:
+ - message: when zoneAffinity type is HostGroup, regionAffinity
+ type must be ComputeCluster
+ rule: 'has(self.zoneAffinity) && self.zoneAffinity.type
+ == ''HostGroup'' ? has(self.regionAffinity) && self.regionAffinity.type
+ == ''ComputeCluster'' : true'
+ - message: when zoneAffinity type is ComputeCluster, regionAffinity
+ type must be Datacenter
+ rule: 'has(self.zoneAffinity) && self.zoneAffinity.type
+ == ''ComputeCluster'' ? has(self.regionAffinity) &&
+ self.regionAffinity.type == ''Datacenter'' : true'
type: array
x-kubernetes-list-map-keys:
- name
diff --git a/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml b/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml
index f1d65162fb3..49023c154c9 100644
--- a/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml
+++ b/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml
@@ -193,9 +193,6 @@
{
"name": "VSphereConfigurableMaxAllowedBlockVolumesPerNode"
},
- {
- "name": "VSphereHostVMGroupZonal"
- },
{
"name": "VSphereMixedNodeEnv"
},
@@ -306,6 +303,9 @@
{
"name": "UserNamespacesSupport"
},
+ {
+ "name": "VSphereHostVMGroupZonal"
+ },
{
"name": "VSphereMultiNetworks"
}
diff --git a/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml b/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
index 72d0e9bd686..578e58eae6b 100644
--- a/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
+++ b/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
@@ -193,9 +193,6 @@
{
"name": "VSphereConfigurableMaxAllowedBlockVolumesPerNode"
},
- {
- "name": "VSphereHostVMGroupZonal"
- },
{
"name": "VSphereMixedNodeEnv"
},
@@ -306,6 +303,9 @@
{
"name": "UserNamespacesSupport"
},
+ {
+ "name": "VSphereHostVMGroupZonal"
+ },
{
"name": "VSphereMultiNetworks"
}