From 491aaa0395b7f9f8cd51f03bcbdb3b688182b02e Mon Sep 17 00:00:00 2001 From: Joseph Callen Date: Wed, 16 Jul 2025 13:51:22 -0400 Subject: [PATCH] vsphere vm-host zonal ga This commit is to add the vSphere vm-host zonal feature to default (GA). --- ...onfig-operator_01_infrastructures-Default.crd.yaml | 11 +++++++++++ features.md | 2 +- features/features.go | 2 +- ...onfig-operator_01_infrastructures-Default.crd.yaml | 11 +++++++++++ .../featuregates/featureGate-Hypershift-Default.yaml | 6 +++--- .../featureGate-SelfManagedHA-Default.yaml | 6 +++--- 6 files changed, 30 insertions(+), 8 deletions(-) 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" }