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 97dc8191f24..2de71b28a71 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 00c5ad3097b..1c17b102c1e 100644 --- a/config/v1/types_infrastructure.go +++ b/config/v1/types_infrastructure.go @@ -1725,12 +1725,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 c404ab95683..7e6ed1bffed 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 @@ -970,12 +970,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. @@ -1022,19 +1020,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 14faebe81e4..bb653af4cf5 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 @@ -1050,12 +1050,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 b137a3265aa..b37abb86c91 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 @@ -1035,12 +1035,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 3642565ec25..00f12b196da 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 @@ -970,12 +970,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. @@ -1022,19 +1020,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 8d9cc31eb0f..b7a17b7194a 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 @@ -1050,12 +1050,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 368efbb20f8..3494e9acc60 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 @@ -1050,12 +1050,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 fbd9c6cd8f5..8888f6dc38e 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 @@ -1036,12 +1036,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 8acade54ee6..e297ef007b8 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 @@ -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/AWSClusterHostedDNSInstall.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml index a73e78c89bc..a7ff04fa6a6 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 @@ -949,12 +949,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 dccadd857ab..6c66ce897d1 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 @@ -949,12 +949,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 08e2b300d8b..3960fb8fdd4 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 @@ -949,12 +949,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 49efd236a23..1fda1dc9821 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 @@ -949,12 +949,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 e1cd34ce73f..6b5421ea5d5 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 @@ -949,12 +949,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 6f78edb1d67..bf4ef249075 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 @@ -1011,12 +1011,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 d86d55e534a..cf159c2cbb6 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 @@ -949,12 +949,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 067294b75d7..8f3c830b585 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 @@ -964,12 +964,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 80ebab21b0b..ad660dc8d8e 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 @@ -954,12 +954,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 c675fb0d247..ca79161d258 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 @@ -949,12 +949,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 6e79ce0a42e..1a61c09b9f8 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 @@ -960,12 +960,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/VSphereMultiNetworks.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereMultiNetworks.yaml index bb564bd439c..a20fd6f1c0a 100644 --- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereMultiNetworks.yaml +++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereMultiNetworks.yaml @@ -950,12 +950,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 2999c632372..1e48da2c247 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 @@ -949,12 +949,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 0519119af44..65281f39bcb 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 9953d8aab36..70978b4ee46 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 | | AWSServiceLBNetworkSecurityGroup| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | @@ -126,4 +125,5 @@ | VSphereMixedNodeEnv| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | VSphereMultiDisk| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | VSphereMultiNetworks| 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 606c3ee6f6b..7c74944ff3a 100644 --- a/features/features.go +++ b/features/features.go @@ -806,7 +806,7 @@ var ( contactPerson("vr4manta"). productScope(ocpSpecific). enhancementPR("https://github.com/openshift/enhancements/pull/1961"). - enable(inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()). + enable(inDefault(), inOKD(), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()). mustRegister() FeatureGateAWSServiceLBNetworkSecurityGroup = newFeatureGate("AWSServiceLBNetworkSecurityGroup"). 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 8c01aaa5987..2295ca6d8e7 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 @@ -1261,12 +1261,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. @@ -1309,11 +1307,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)' @@ -1321,10 +1332,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 438bb18d599..0e2b924a3e1 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 @@ -1355,12 +1355,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 c5df8a12b7b..fb10b5a014e 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 @@ -1340,12 +1340,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 50af0f358a7..1ba341f854c 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 @@ -1261,12 +1261,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. @@ -1309,11 +1307,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)' @@ -1321,10 +1332,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 9f248c2da32..4c0d2631d17 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 @@ -1355,12 +1355,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 b71c97f58e2..fe85032fdd8 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 @@ -1355,12 +1355,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 fd6360fdae8..d68eedcca6b 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 @@ -1329,12 +1329,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 c5d29ca5735..9bdf773ad8f 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 @@ -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/AWSClusterHostedDNSInstall.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml index ff635b13ffe..c4c0f607082 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 @@ -1242,12 +1242,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 329e34b0e08..1b07d1fcb59 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 @@ -1242,12 +1242,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 ba61515da84..2b7ce12458f 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 @@ -1246,12 +1246,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 78c6fc34a4b..da0b086b35f 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 @@ -1242,12 +1242,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 9aec87a20df..0b59a5aa813 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 @@ -1254,12 +1254,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 1889d71d32e..ef6784a297d 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 @@ -1242,12 +1242,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 ab82716828b..f6e77f4f7aa 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 @@ -1305,12 +1305,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 e91ab98a5ed..915f6f068fd 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 @@ -1242,12 +1242,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 29672894673..a329359d666 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 @@ -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/NutanixMultiSubnets.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/NutanixMultiSubnets.yaml index f2f1a6e8979..347ec702f74 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 @@ -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/OnPremDNSRecords.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/OnPremDNSRecords.yaml index e41e4bfa044..c076bb76d2c 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 @@ -1242,12 +1242,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 b3b9d15a320..86c949d3db8 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 @@ -1255,12 +1255,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/VSphereMultiNetworks.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiNetworks.yaml index a885b6281bb..d8bb8d1d9b9 100644 --- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiNetworks.yaml +++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiNetworks.yaml @@ -1243,12 +1243,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 56c3353aae2..5aef973221b 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 @@ -1242,12 +1242,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 ef30e142d5a..1c5a4f6f514 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 26bf2c9e39c..1d45d5623ba 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 c404ab95683..7e6ed1bffed 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 @@ -970,12 +970,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. @@ -1022,19 +1020,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 14faebe81e4..bb653af4cf5 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 @@ -1050,12 +1050,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 b137a3265aa..b37abb86c91 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 @@ -1035,12 +1035,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 3642565ec25..00f12b196da 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 @@ -970,12 +970,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. @@ -1022,19 +1020,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 8d9cc31eb0f..b7a17b7194a 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 @@ -1050,12 +1050,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 368efbb20f8..3494e9acc60 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 @@ -1050,12 +1050,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 fbd9c6cd8f5..8888f6dc38e 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 @@ -1036,12 +1036,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 8c01aaa5987..2295ca6d8e7 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 @@ -1261,12 +1261,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. @@ -1309,11 +1307,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)' @@ -1321,10 +1332,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 438bb18d599..0e2b924a3e1 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 @@ -1355,12 +1355,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 c5df8a12b7b..fb10b5a014e 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 @@ -1340,12 +1340,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 50af0f358a7..1ba341f854c 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 @@ -1261,12 +1261,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. @@ -1309,11 +1307,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)' @@ -1321,10 +1332,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 9f248c2da32..4c0d2631d17 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 @@ -1355,12 +1355,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 b71c97f58e2..fe85032fdd8 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 @@ -1355,12 +1355,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 fd6360fdae8..d68eedcca6b 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 @@ -1329,12 +1329,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 7e94ae5ee8a..8e8e629ea85 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": [ @@ -394,6 +391,9 @@ { "name": "VSphereMultiNetworks" }, + { + "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 b39c936bedf..4337bca142a 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": [ @@ -396,6 +393,9 @@ { "name": "VSphereMultiNetworks" }, + { + "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 ec86952c5fa..2d167904cea 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": [ @@ -394,6 +391,9 @@ { "name": "VSphereMultiNetworks" }, + { + "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 8dd2d7e168f..20eda5987e7 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": [ @@ -396,6 +393,9 @@ { "name": "VSphereMultiNetworks" }, + { + "name": "VSphereMultiVCenterDay2" + }, { "name": "VolumeGroupSnapshot" }