diff --git a/config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml b/config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml
index c7ac31481aa..b692386b498 100644
--- a/config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml
+++ b/config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml
@@ -3,7 +3,6 @@ name: "Infrastructure"
crdName: infrastructures.config.openshift.io
featureGates:
- -AWSClusterHostedDNS
- - -VSphereMultiVCenterDay2
tests:
onCreate:
- name: Should be able to create a minimal Infrastructure
@@ -1884,6 +1883,8 @@ tests:
initialCRDPatches:
- op: remove
path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/platformSpec/properties/vsphere/properties/vcenters/minItems
+ - op: remove
+ path: /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/platformSpec/properties/vsphere/x-kubernetes-validations/0
initial: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
diff --git a/config/v1/types_infrastructure.go b/config/v1/types_infrastructure.go
index b9d9b3d47a9..857f9b27929 100644
--- a/config/v1/types_infrastructure.go
+++ b/config/v1/types_infrastructure.go
@@ -1724,12 +1724,10 @@ type VSpherePlatformNodeNetworking struct {
type VSpherePlatformSpec struct {
// vcenters holds the connection details for services to communicate with vCenter.
// Up to 3 vCenters are supported.
- // Once the cluster has been installed, you are unable to change the current number of defined
- // vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- // where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- // remove vCenters but may not remove all vCenters. You may make modifications to the existing
- // vCenters that are defined in the vcenters list in order to match with any added or modified
- // failure domains.
+ // After installation, you can add or change vCenters, or remove some of them, but you must keep
+ // at least one and may not add and remove vCenters during the same update. You may make modifications
+ // to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ // modified failure domains.
// ---
// + If VCenters is not defined use the existing cloud-config configmap defined
// + in openshift-config.
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 d81663188e2..c9fd517677a 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
@@ -971,12 +971,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
@@ -1023,19 +1021,30 @@ spec:
type: array
x-kubernetes-list-type: atomic
x-kubernetes-validations:
+ - message: Cannot add and remove vCenters at the same time
+ rule: 'size(self) >= size(oldSelf) ? oldSelf.all(x, self.exists(y,
+ y.server == x.server)) : true'
+ - message: Cannot add and remove vCenters at the same time
+ rule: 'size(self) < size(oldSelf) ? self.all(x, oldSelf.exists(y,
+ y.server == x.server)) : true'
- message: vcenters must have unique server values
rule: self.all(x, self.exists_one(y, y.server == x.server))
type: object
x-kubernetes-validations:
+ - message: all failure domains must have a corresponding vCenter
+ entry
+ rule: '!has(self.failureDomains) || size(self.failureDomains)
+ == 0 || (has(self.vcenters) && self.failureDomains.all(fd,
+ self.vcenters.exists(vc, vc.server == fd.server)))'
- message: apiServerInternalIPs list is required once set
rule: '!has(oldSelf.apiServerInternalIPs) || has(self.apiServerInternalIPs)'
- message: ingressIPs list is required once set
rule: '!has(oldSelf.ingressIPs) || has(self.ingressIPs)'
type: object
x-kubernetes-validations:
- - message: vcenters can have at most 1 item when configured post-install
- rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? (has(self.vsphere.vcenters)
- && size(self.vsphere.vcenters) < 2) : true'
+ - message: vcenters is required once set and cannot be removed
+ rule: 'oldSelf.?vsphere.vcenters.hasValue() ? self.?vsphere.vcenters.hasValue()
+ : true'
type: object
status:
description: status holds observed values from the cluster. They may not
diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml
index f8a5f3ab824..7a35e5fc0f7 100644
--- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml
+++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml
@@ -1053,12 +1053,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml
index 318c69a6603..9af850a929d 100644
--- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml
+++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml
@@ -1038,12 +1038,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml
index bbd4251d74b..96d3993c18c 100644
--- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml
+++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml
@@ -971,12 +971,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
@@ -1023,19 +1021,30 @@ spec:
type: array
x-kubernetes-list-type: atomic
x-kubernetes-validations:
+ - message: Cannot add and remove vCenters at the same time
+ rule: 'size(self) >= size(oldSelf) ? oldSelf.all(x, self.exists(y,
+ y.server == x.server)) : true'
+ - message: Cannot add and remove vCenters at the same time
+ rule: 'size(self) < size(oldSelf) ? self.all(x, oldSelf.exists(y,
+ y.server == x.server)) : true'
- message: vcenters must have unique server values
rule: self.all(x, self.exists_one(y, y.server == x.server))
type: object
x-kubernetes-validations:
+ - message: all failure domains must have a corresponding vCenter
+ entry
+ rule: '!has(self.failureDomains) || size(self.failureDomains)
+ == 0 || (has(self.vcenters) && self.failureDomains.all(fd,
+ self.vcenters.exists(vc, vc.server == fd.server)))'
- message: apiServerInternalIPs list is required once set
rule: '!has(oldSelf.apiServerInternalIPs) || has(self.apiServerInternalIPs)'
- message: ingressIPs list is required once set
rule: '!has(oldSelf.ingressIPs) || has(self.ingressIPs)'
type: object
x-kubernetes-validations:
- - message: vcenters can have at most 1 item when configured post-install
- rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? (has(self.vsphere.vcenters)
- && size(self.vsphere.vcenters) < 2) : true'
+ - message: vcenters is required once set and cannot be removed
+ rule: 'oldSelf.?vsphere.vcenters.hasValue() ? self.?vsphere.vcenters.hasValue()
+ : true'
type: object
status:
description: status holds observed values from the cluster. They may not
diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml
index b2837a11c9b..bbeff9ec02e 100644
--- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml
+++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml
@@ -1053,12 +1053,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
index 14ba6137cb5..0207127aa67 100644
--- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
+++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
@@ -1053,12 +1053,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
index 5dfaf5298db..e0185efcc2e 100644
--- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
+++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
@@ -1039,12 +1039,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AAA_ungated.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AAA_ungated.yaml
index d5e6b676eca..9237b97b7ca 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AAA_ungated.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AAA_ungated.yaml
@@ -952,12 +952,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml
index 91699718d53..e8b0f571c3b 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml
@@ -951,12 +951,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml
index a1542ae0aca..54f81daf0e1 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml
@@ -951,12 +951,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AzureDualStackInstall.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AzureDualStackInstall.yaml
index a812831768e..8e483d9b16c 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AzureDualStackInstall.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AzureDualStackInstall.yaml
@@ -951,12 +951,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/BGPBasedVIPManagement.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/BGPBasedVIPManagement.yaml
index 8505eadc4bc..524b6624997 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/BGPBasedVIPManagement.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/BGPBasedVIPManagement.yaml
@@ -951,12 +951,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DualReplica.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DualReplica.yaml
index 90418b961cb..92873b02a8f 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DualReplica.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DualReplica.yaml
@@ -951,12 +951,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DyanmicServiceEndpointIBMCloud.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DyanmicServiceEndpointIBMCloud.yaml
index da6becd7929..ea678eab123 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DyanmicServiceEndpointIBMCloud.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DyanmicServiceEndpointIBMCloud.yaml
@@ -1015,12 +1015,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPSovereignCloudInstall.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPSovereignCloudInstall.yaml
index 81590d46640..cb657fca341 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPSovereignCloudInstall.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPSovereignCloudInstall.yaml
@@ -951,12 +951,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/MutableTopology.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/MutableTopology.yaml
index f4c1fcb8f2d..446505413cb 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/MutableTopology.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/MutableTopology.yaml
@@ -966,12 +966,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/NutanixMultiSubnets.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/NutanixMultiSubnets.yaml
index caed4f2ee06..c97c4d63588 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/NutanixMultiSubnets.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/NutanixMultiSubnets.yaml
@@ -956,12 +956,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/OnPremDNSRecords.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/OnPremDNSRecords.yaml
index c6d69ace723..28a48a0f829 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/OnPremDNSRecords.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/OnPremDNSRecords.yaml
@@ -951,12 +951,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereHostVMGroupZonal.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereHostVMGroupZonal.yaml
index c3104f5f635..7f56d847dcf 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereHostVMGroupZonal.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereHostVMGroupZonal.yaml
@@ -962,12 +962,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereMultiVCenterDay2.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereMultiVCenterDay2.yaml
index f91c6f60d13..e2cff22e003 100644
--- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereMultiVCenterDay2.yaml
+++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereMultiVCenterDay2.yaml
@@ -951,12 +951,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/config/v1/zz_generated.swagger_doc_generated.go b/config/v1/zz_generated.swagger_doc_generated.go
index 12b839563ae..0f4605ef380 100644
--- a/config/v1/zz_generated.swagger_doc_generated.go
+++ b/config/v1/zz_generated.swagger_doc_generated.go
@@ -2216,7 +2216,7 @@ func (VSpherePlatformNodeNetworkingSpec) SwaggerDoc() map[string]string {
var map_VSpherePlatformSpec = map[string]string{
"": "VSpherePlatformSpec holds the desired state of the vSphere infrastructure provider. In the future the cloud provider operator, storage operator and machine operator will use these fields for configuration.",
- "vcenters": "vcenters holds the connection details for services to communicate with vCenter. Up to 3 vCenters are supported. Once the cluster has been installed, you are unable to change the current number of defined vCenters except when 1.) the cluster has been upgraded from a version of OpenShift where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and remove vCenters but may not remove all vCenters. You may make modifications to the existing vCenters that are defined in the vcenters list in order to match with any added or modified failure domains.",
+ "vcenters": "vcenters holds the connection details for services to communicate with vCenter. Up to 3 vCenters are supported. After installation, you can add or change vCenters, or remove some of them, but you must keep at least one and may not add and remove vCenters during the same update. You may make modifications to the existing vCenters that are defined in the vcenters list in order to match with any added or modified failure domains.",
"failureDomains": "failureDomains contains the definition of region, zone and the vCenter topology. If this is omitted failure domains (regions and zones) will not be used. Each failure domain's server must match the server field of an entry in the vcenters list.",
"nodeNetworking": "nodeNetworking contains the definition of internal and external network constraints for assigning the node's networking. If this field is omitted, networking defaults to the legacy address selection behavior which is to only support a single address and return the first one found.",
"apiServerInternalIPs": "apiServerInternalIPs are the IP addresses to contact the Kubernetes API server that can be used by components inside the cluster, like kubelets using the infrastructure rather than Kubernetes networking. These are the IPs for a self-hosted load balancer in front of the API servers. In dual stack clusters this list contains two IP addresses, one from IPv4 family and one from IPv6. In single stack clusters a single IP address is expected. When omitted, values from the status.apiServerInternalIPs will be used. Once set, the list cannot be completely removed (but its second entry can).",
diff --git a/features.md b/features.md
index 309afca7f48..f39fa738827 100644
--- a/features.md
+++ b/features.md
@@ -87,7 +87,6 @@
| TLSAdherence| | | Enabled | Enabled | | | Enabled | Enabled |
| TLSGroupPreferences| | | Enabled | Enabled | | | Enabled | Enabled |
| VSphereConfigurableMaxAllowedBlockVolumesPerNode| | | Enabled | Enabled | | | Enabled | Enabled |
-| VSphereMultiVCenterDay2| | | Enabled | Enabled | | | Enabled | Enabled |
| AWSClusterHostedDNSInstall| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| AWSDualStackInstall| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| AdditionalStorageConfig| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
@@ -124,4 +123,5 @@
| UpgradeStatus| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| VSphereHostVMGroupZonal| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| VSphereMixedNodeEnv| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
+| VSphereMultiVCenterDay2| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
| VolumeGroupSnapshot| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled |
diff --git a/features/features.go b/features/features.go
index 61c4585ea9d..bea1b94a1b6 100644
--- a/features/features.go
+++ b/features/features.go
@@ -790,7 +790,7 @@ var (
contactPerson("vr4manta").
productScope(ocpSpecific).
enhancementPR("https://github.com/openshift/enhancements/pull/1961").
- enable(inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()).
+ enable(inDefault(), inOKD(), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()).
mustRegister()
FeatureGateNoRegistryClusterInstall = newFeatureGate("NoRegistryClusterInstall").
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 11a9790a765..df4521d0783 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
@@ -1262,12 +1262,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
@@ -1310,11 +1308,24 @@ spec:
type: array
x-kubernetes-list-type: atomic
x-kubernetes-validations:
+ - message: Cannot add and remove vCenters at the same
+ time
+ rule: 'size(self) >= size(oldSelf) ? oldSelf.all(x,
+ self.exists(y, y.server == x.server)) : true'
+ - message: Cannot add and remove vCenters at the same
+ time
+ rule: 'size(self) < size(oldSelf) ? self.all(x,
+ oldSelf.exists(y, y.server == x.server)) : true'
- message: vcenters must have unique server values
rule: self.all(x, self.exists_one(y, y.server ==
x.server))
type: object
x-kubernetes-validations:
+ - message: all failure domains must have a corresponding
+ vCenter entry
+ rule: '!has(self.failureDomains) || size(self.failureDomains)
+ == 0 || (has(self.vcenters) && self.failureDomains.all(fd,
+ self.vcenters.exists(vc, vc.server == fd.server)))'
- message: apiServerInternalIPs list is required once
set
rule: '!has(oldSelf.apiServerInternalIPs) || has(self.apiServerInternalIPs)'
@@ -1322,10 +1333,9 @@ spec:
rule: '!has(oldSelf.ingressIPs) || has(self.ingressIPs)'
type: object
x-kubernetes-validations:
- - message: vcenters can have at most 1 item when configured
- post-install
- rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? (has(self.vsphere.vcenters)
- && size(self.vsphere.vcenters) < 2) : true'
+ - message: vcenters is required once set and cannot be removed
+ rule: 'oldSelf.?vsphere.vcenters.hasValue() ? self.?vsphere.vcenters.hasValue()
+ : true'
type: object
status:
description: status holds observed values from the cluster. They
diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml
index da5e792f520..273851bb919 100644
--- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml
+++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml
@@ -1358,12 +1358,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml
index d57a20f8f91..d1897459702 100644
--- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml
+++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml
@@ -1343,12 +1343,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml
index 15711cc4439..4f98d08e98c 100644
--- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml
+++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml
@@ -1262,12 +1262,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
@@ -1310,11 +1308,24 @@ spec:
type: array
x-kubernetes-list-type: atomic
x-kubernetes-validations:
+ - message: Cannot add and remove vCenters at the same
+ time
+ rule: 'size(self) >= size(oldSelf) ? oldSelf.all(x,
+ self.exists(y, y.server == x.server)) : true'
+ - message: Cannot add and remove vCenters at the same
+ time
+ rule: 'size(self) < size(oldSelf) ? self.all(x,
+ oldSelf.exists(y, y.server == x.server)) : true'
- message: vcenters must have unique server values
rule: self.all(x, self.exists_one(y, y.server ==
x.server))
type: object
x-kubernetes-validations:
+ - message: all failure domains must have a corresponding
+ vCenter entry
+ rule: '!has(self.failureDomains) || size(self.failureDomains)
+ == 0 || (has(self.vcenters) && self.failureDomains.all(fd,
+ self.vcenters.exists(vc, vc.server == fd.server)))'
- message: apiServerInternalIPs list is required once
set
rule: '!has(oldSelf.apiServerInternalIPs) || has(self.apiServerInternalIPs)'
@@ -1322,10 +1333,9 @@ spec:
rule: '!has(oldSelf.ingressIPs) || has(self.ingressIPs)'
type: object
x-kubernetes-validations:
- - message: vcenters can have at most 1 item when configured
- post-install
- rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? (has(self.vsphere.vcenters)
- && size(self.vsphere.vcenters) < 2) : true'
+ - message: vcenters is required once set and cannot be removed
+ rule: 'oldSelf.?vsphere.vcenters.hasValue() ? self.?vsphere.vcenters.hasValue()
+ : true'
type: object
status:
description: status holds observed values from the cluster. They
diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml
index 40db0736fbb..8e1534879d6 100644
--- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml
+++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml
@@ -1358,12 +1358,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
index 015940e4d09..fb3e18ca85e 100644
--- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
+++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
@@ -1358,12 +1358,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
index bbbda549a20..a0ba302d227 100644
--- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
+++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
@@ -1332,12 +1332,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AAA_ungated.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AAA_ungated.yaml
index c7bd4eae099..24d3896236c 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AAA_ungated.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AAA_ungated.yaml
@@ -1249,12 +1249,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml
index 5a2eb7fc12c..12416db5b80 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml
@@ -1244,12 +1244,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml
index 99b035f243d..d84bb30292e 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml
@@ -1244,12 +1244,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSEuropeanSovereignCloudInstall.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSEuropeanSovereignCloudInstall.yaml
index 624b95fa3b9..75d0e83cdce 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSEuropeanSovereignCloudInstall.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSEuropeanSovereignCloudInstall.yaml
@@ -1248,12 +1248,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AzureDualStackInstall.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AzureDualStackInstall.yaml
index e0b561485a5..9d214497e79 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AzureDualStackInstall.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AzureDualStackInstall.yaml
@@ -1244,12 +1244,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/BGPBasedVIPManagement.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/BGPBasedVIPManagement.yaml
index e523d70a038..2f45bede0e2 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/BGPBasedVIPManagement.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/BGPBasedVIPManagement.yaml
@@ -1256,12 +1256,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DualReplica.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DualReplica.yaml
index dca764f9e91..aadfec12d3d 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DualReplica.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DualReplica.yaml
@@ -1244,12 +1244,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DyanmicServiceEndpointIBMCloud.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DyanmicServiceEndpointIBMCloud.yaml
index 1b289377688..391d451018d 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DyanmicServiceEndpointIBMCloud.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DyanmicServiceEndpointIBMCloud.yaml
@@ -1309,12 +1309,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPSovereignCloudInstall.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPSovereignCloudInstall.yaml
index 762dae30d8a..a7483c3ec7a 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPSovereignCloudInstall.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPSovereignCloudInstall.yaml
@@ -1244,12 +1244,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/MutableTopology.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/MutableTopology.yaml
index b93e63d0fe1..3d7117d83f3 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/MutableTopology.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/MutableTopology.yaml
@@ -1259,12 +1259,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/NutanixMultiSubnets.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/NutanixMultiSubnets.yaml
index 51d2e73d8b4..92a2b308e1d 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/NutanixMultiSubnets.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/NutanixMultiSubnets.yaml
@@ -1250,12 +1250,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/OnPremDNSRecords.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/OnPremDNSRecords.yaml
index 65de63b2fce..084ac533f9b 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/OnPremDNSRecords.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/OnPremDNSRecords.yaml
@@ -1244,12 +1244,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereHostVMGroupZonal.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereHostVMGroupZonal.yaml
index 480ff7cfa8b..392c60accd4 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereHostVMGroupZonal.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereHostVMGroupZonal.yaml
@@ -1257,12 +1257,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiVCenterDay2.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiVCenterDay2.yaml
index 0dd3e6419f4..33dd9b70f84 100644
--- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiVCenterDay2.yaml
+++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiVCenterDay2.yaml
@@ -1244,12 +1244,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/openapi/generated_openapi/zz_generated.openapi.go b/openapi/generated_openapi/zz_generated.openapi.go
index d884f92cfbd..fca44ab01e8 100644
--- a/openapi/generated_openapi/zz_generated.openapi.go
+++ b/openapi/generated_openapi/zz_generated.openapi.go
@@ -22756,7 +22756,7 @@ func schema_openshift_api_config_v1_VSpherePlatformSpec(ref common.ReferenceCall
},
},
SchemaProps: spec.SchemaProps{
- Description: "vcenters holds the connection details for services to communicate with vCenter. Up to 3 vCenters are supported. Once the cluster has been installed, you are unable to change the current number of defined vCenters except when 1.) the cluster has been upgraded from a version of OpenShift where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and remove vCenters but may not remove all vCenters. You may make modifications to the existing vCenters that are defined in the vcenters list in order to match with any added or modified failure domains.",
+ Description: "vcenters holds the connection details for services to communicate with vCenter. Up to 3 vCenters are supported. After installation, you can add or change vCenters, or remove some of them, but you must keep at least one and may not add and remove vCenters during the same update. You may make modifications to the existing vCenters that are defined in the vcenters list in order to match with any added or modified failure domains.",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
diff --git a/openapi/openapi.json b/openapi/openapi.json
index ac9d7114218..1c675ce4c5b 100644
--- a/openapi/openapi.json
+++ b/openapi/openapi.json
@@ -12386,7 +12386,7 @@
"$ref": "#/definitions/com.github.openshift.api.config.v1.VSpherePlatformNodeNetworking"
},
"vcenters": {
- "description": "vcenters holds the connection details for services to communicate with vCenter. Up to 3 vCenters are supported. Once the cluster has been installed, you are unable to change the current number of defined vCenters except when 1.) the cluster has been upgraded from a version of OpenShift where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and remove vCenters but may not remove all vCenters. You may make modifications to the existing vCenters that are defined in the vcenters list in order to match with any added or modified failure domains.",
+ "description": "vcenters holds the connection details for services to communicate with vCenter. Up to 3 vCenters are supported. After installation, you can add or change vCenters, or remove some of them, but you must keep at least one and may not add and remove vCenters during the same update. You may make modifications to the existing vCenters that are defined in the vcenters list in order to match with any added or modified failure domains.",
"type": "array",
"items": {
"default": {},
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 d81663188e2..c9fd517677a 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
@@ -971,12 +971,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
@@ -1023,19 +1021,30 @@ spec:
type: array
x-kubernetes-list-type: atomic
x-kubernetes-validations:
+ - message: Cannot add and remove vCenters at the same time
+ rule: 'size(self) >= size(oldSelf) ? oldSelf.all(x, self.exists(y,
+ y.server == x.server)) : true'
+ - message: Cannot add and remove vCenters at the same time
+ rule: 'size(self) < size(oldSelf) ? self.all(x, oldSelf.exists(y,
+ y.server == x.server)) : true'
- message: vcenters must have unique server values
rule: self.all(x, self.exists_one(y, y.server == x.server))
type: object
x-kubernetes-validations:
+ - message: all failure domains must have a corresponding vCenter
+ entry
+ rule: '!has(self.failureDomains) || size(self.failureDomains)
+ == 0 || (has(self.vcenters) && self.failureDomains.all(fd,
+ self.vcenters.exists(vc, vc.server == fd.server)))'
- message: apiServerInternalIPs list is required once set
rule: '!has(oldSelf.apiServerInternalIPs) || has(self.apiServerInternalIPs)'
- message: ingressIPs list is required once set
rule: '!has(oldSelf.ingressIPs) || has(self.ingressIPs)'
type: object
x-kubernetes-validations:
- - message: vcenters can have at most 1 item when configured post-install
- rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? (has(self.vsphere.vcenters)
- && size(self.vsphere.vcenters) < 2) : true'
+ - message: vcenters is required once set and cannot be removed
+ rule: 'oldSelf.?vsphere.vcenters.hasValue() ? self.?vsphere.vcenters.hasValue()
+ : true'
type: object
status:
description: status holds observed values from the cluster. They may not
diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml
index f8a5f3ab824..7a35e5fc0f7 100644
--- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml
@@ -1053,12 +1053,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml
index 318c69a6603..9af850a929d 100644
--- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml
@@ -1038,12 +1038,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-OKD.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-OKD.crd.yaml
index bbd4251d74b..96d3993c18c 100644
--- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-OKD.crd.yaml
+++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-OKD.crd.yaml
@@ -971,12 +971,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
@@ -1023,19 +1021,30 @@ spec:
type: array
x-kubernetes-list-type: atomic
x-kubernetes-validations:
+ - message: Cannot add and remove vCenters at the same time
+ rule: 'size(self) >= size(oldSelf) ? oldSelf.all(x, self.exists(y,
+ y.server == x.server)) : true'
+ - message: Cannot add and remove vCenters at the same time
+ rule: 'size(self) < size(oldSelf) ? self.all(x, oldSelf.exists(y,
+ y.server == x.server)) : true'
- message: vcenters must have unique server values
rule: self.all(x, self.exists_one(y, y.server == x.server))
type: object
x-kubernetes-validations:
+ - message: all failure domains must have a corresponding vCenter
+ entry
+ rule: '!has(self.failureDomains) || size(self.failureDomains)
+ == 0 || (has(self.vcenters) && self.failureDomains.all(fd,
+ self.vcenters.exists(vc, vc.server == fd.server)))'
- message: apiServerInternalIPs list is required once set
rule: '!has(oldSelf.apiServerInternalIPs) || has(self.apiServerInternalIPs)'
- message: ingressIPs list is required once set
rule: '!has(oldSelf.ingressIPs) || has(self.ingressIPs)'
type: object
x-kubernetes-validations:
- - message: vcenters can have at most 1 item when configured post-install
- rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? (has(self.vsphere.vcenters)
- && size(self.vsphere.vcenters) < 2) : true'
+ - message: vcenters is required once set and cannot be removed
+ rule: 'oldSelf.?vsphere.vcenters.hasValue() ? self.?vsphere.vcenters.hasValue()
+ : true'
type: object
status:
description: status holds observed values from the cluster. They may not
diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml
index b2837a11c9b..bbeff9ec02e 100644
--- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml
@@ -1053,12 +1053,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
index 14ba6137cb5..0207127aa67 100644
--- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
@@ -1053,12 +1053,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
index 5dfaf5298db..e0185efcc2e 100644
--- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
@@ -1039,12 +1039,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
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 11a9790a765..df4521d0783 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
@@ -1262,12 +1262,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
@@ -1310,11 +1308,24 @@ spec:
type: array
x-kubernetes-list-type: atomic
x-kubernetes-validations:
+ - message: Cannot add and remove vCenters at the same
+ time
+ rule: 'size(self) >= size(oldSelf) ? oldSelf.all(x,
+ self.exists(y, y.server == x.server)) : true'
+ - message: Cannot add and remove vCenters at the same
+ time
+ rule: 'size(self) < size(oldSelf) ? self.all(x,
+ oldSelf.exists(y, y.server == x.server)) : true'
- message: vcenters must have unique server values
rule: self.all(x, self.exists_one(y, y.server ==
x.server))
type: object
x-kubernetes-validations:
+ - message: all failure domains must have a corresponding
+ vCenter entry
+ rule: '!has(self.failureDomains) || size(self.failureDomains)
+ == 0 || (has(self.vcenters) && self.failureDomains.all(fd,
+ self.vcenters.exists(vc, vc.server == fd.server)))'
- message: apiServerInternalIPs list is required once
set
rule: '!has(oldSelf.apiServerInternalIPs) || has(self.apiServerInternalIPs)'
@@ -1322,10 +1333,9 @@ spec:
rule: '!has(oldSelf.ingressIPs) || has(self.ingressIPs)'
type: object
x-kubernetes-validations:
- - message: vcenters can have at most 1 item when configured
- post-install
- rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? (has(self.vsphere.vcenters)
- && size(self.vsphere.vcenters) < 2) : true'
+ - message: vcenters is required once set and cannot be removed
+ rule: 'oldSelf.?vsphere.vcenters.hasValue() ? self.?vsphere.vcenters.hasValue()
+ : true'
type: object
status:
description: status holds observed values from the cluster. They
diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml
index da5e792f520..273851bb919 100644
--- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml
@@ -1358,12 +1358,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml
index d57a20f8f91..d1897459702 100644
--- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml
@@ -1343,12 +1343,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml
index 15711cc4439..4f98d08e98c 100644
--- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml
+++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml
@@ -1262,12 +1262,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
@@ -1310,11 +1308,24 @@ spec:
type: array
x-kubernetes-list-type: atomic
x-kubernetes-validations:
+ - message: Cannot add and remove vCenters at the same
+ time
+ rule: 'size(self) >= size(oldSelf) ? oldSelf.all(x,
+ self.exists(y, y.server == x.server)) : true'
+ - message: Cannot add and remove vCenters at the same
+ time
+ rule: 'size(self) < size(oldSelf) ? self.all(x,
+ oldSelf.exists(y, y.server == x.server)) : true'
- message: vcenters must have unique server values
rule: self.all(x, self.exists_one(y, y.server ==
x.server))
type: object
x-kubernetes-validations:
+ - message: all failure domains must have a corresponding
+ vCenter entry
+ rule: '!has(self.failureDomains) || size(self.failureDomains)
+ == 0 || (has(self.vcenters) && self.failureDomains.all(fd,
+ self.vcenters.exists(vc, vc.server == fd.server)))'
- message: apiServerInternalIPs list is required once
set
rule: '!has(oldSelf.apiServerInternalIPs) || has(self.apiServerInternalIPs)'
@@ -1322,10 +1333,9 @@ spec:
rule: '!has(oldSelf.ingressIPs) || has(self.ingressIPs)'
type: object
x-kubernetes-validations:
- - message: vcenters can have at most 1 item when configured
- post-install
- rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? (has(self.vsphere.vcenters)
- && size(self.vsphere.vcenters) < 2) : true'
+ - message: vcenters is required once set and cannot be removed
+ rule: 'oldSelf.?vsphere.vcenters.hasValue() ? self.?vsphere.vcenters.hasValue()
+ : true'
type: object
status:
description: status holds observed values from the cluster. They
diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml
index 40db0736fbb..8e1534879d6 100644
--- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml
@@ -1358,12 +1358,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
index 015940e4d09..fb3e18ca85e 100644
--- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
@@ -1358,12 +1358,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
index bbbda549a20..a0ba302d227 100644
--- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
+++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
@@ -1332,12 +1332,10 @@ spec:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Up to 3 vCenters are supported.
- Once the cluster has been installed, you are unable to change the current number of defined
- vCenters except when 1.) the cluster has been upgraded from a version of OpenShift
- where the vsphere platform spec was not present or 2.) in TechPreview you are able to add and
- remove vCenters but may not remove all vCenters. You may make modifications to the existing
- vCenters that are defined in the vcenters list in order to match with any added or modified
- failure domains.
+ After installation, you can add or change vCenters, or remove some of them, but you must keep
+ at least one and may not add and remove vCenters during the same update. You may make modifications
+ to the existing vCenters that are defined in the vcenters list in order to match with any added or
+ modified failure domains.
items:
description: |-
VSpherePlatformVCenterSpec stores the vCenter connection fields.
diff --git a/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml b/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
index be44bb71335..1dd9c86322b 100644
--- a/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
+++ b/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
@@ -271,9 +271,6 @@
},
{
"name": "VSphereConfigurableMaxAllowedBlockVolumesPerNode"
- },
- {
- "name": "VSphereMultiVCenterDay2"
}
],
"enabled": [
@@ -388,6 +385,9 @@
{
"name": "VSphereMixedNodeEnv"
},
+ {
+ "name": "VSphereMultiVCenterDay2"
+ },
{
"name": "VolumeGroupSnapshot"
}
diff --git a/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml b/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
index 267b0aaea33..49fe99cd4fa 100644
--- a/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
+++ b/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
@@ -273,9 +273,6 @@
},
{
"name": "VSphereConfigurableMaxAllowedBlockVolumesPerNode"
- },
- {
- "name": "VSphereMultiVCenterDay2"
}
],
"enabled": [
@@ -390,6 +387,9 @@
{
"name": "VSphereMixedNodeEnv"
},
+ {
+ "name": "VSphereMultiVCenterDay2"
+ },
{
"name": "VolumeGroupSnapshot"
}
diff --git a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
index 4c63ec839c2..0b8f72b336e 100644
--- a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
+++ b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
@@ -259,9 +259,6 @@
},
{
"name": "VSphereConfigurableMaxAllowedBlockVolumesPerNode"
- },
- {
- "name": "VSphereMultiVCenterDay2"
}
],
"enabled": [
@@ -388,6 +385,9 @@
{
"name": "VSphereMixedNodeEnv"
},
+ {
+ "name": "VSphereMultiVCenterDay2"
+ },
{
"name": "VolumeGroupSnapshot"
}
diff --git a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
index d888ca7f304..1014a5ebfb8 100644
--- a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
+++ b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
@@ -261,9 +261,6 @@
},
{
"name": "VSphereConfigurableMaxAllowedBlockVolumesPerNode"
- },
- {
- "name": "VSphereMultiVCenterDay2"
}
],
"enabled": [
@@ -390,6 +387,9 @@
{
"name": "VSphereMixedNodeEnv"
},
+ {
+ "name": "VSphereMultiVCenterDay2"
+ },
{
"name": "VolumeGroupSnapshot"
}