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 a89377ef7d0..af1cb93a57e 100644 --- a/config/v1/types_infrastructure.go +++ b/config/v1/types_infrastructure.go @@ -1722,12 +1722,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 1a6c3057697..71b57f07f78 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 5c5eec68aea..70e62a33993 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 37951040704..70e553fbaf5 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 ac54ddbd880..b75eec35808 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 d1cdddc8edd..ede9f140e3b 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 29c8c48b957..6eddce0279f 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 d384f214f9a..db14b810a4a 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 c4989f62511..6a70214ac5f 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 0d6a068ee7a..6dca1e7b458 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 6c290c748fc..9dd3b9a9b86 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 dfb8b566049..7d9f446dacf 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 607998046fb..5f3817c8e6e 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 f6c1e07a3ae..4f763951b3d 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 1476be93a78..b201fc3671a 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 5a342b8f3b0..970a1553bb5 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 100ac8a3bc6..146429838d5 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 166bcb7280d..6d78471dfb4 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 f0f88f4497e..466d88db520 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 e18faf365a0..0687419622b 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 00b3cefa377..c0d1de2f385 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 214cad05cbd..32227fb2664 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 dd69a2ee898..e5a19135542 100644 --- a/features.md +++ b/features.md @@ -90,7 +90,6 @@ | TLSAdherence| | | Enabled | Enabled | | | Enabled | Enabled | | TLSGroupPreferences| | | Enabled | Enabled | | | Enabled | Enabled | | VSphereConfigurableMaxAllowedBlockVolumesPerNode| | | Enabled | Enabled | | | Enabled | Enabled | -| VSphereMultiVCenterDay2| | | Enabled | Enabled | | | Enabled | Enabled | | VolumeGroupSnapshot| | | Enabled | Enabled | | | Enabled | Enabled | | OSStreams| | Enabled | Enabled | Enabled | | Enabled | Enabled | Enabled | | AWSClusterHostedDNSInstall| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | @@ -126,3 +125,4 @@ | 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 | diff --git a/features/features.go b/features/features.go index 643166c1b09..3ebde7e6e98 100644 --- a/features/features.go +++ b/features/features.go @@ -665,7 +665,7 @@ var ( enhancementPR("https://github.com/openshift/enhancements/pull/2033"). enable(inDevPreviewNoUpgrade(), inTechPreviewNoUpgrade()). mustRegister() - + FeatureGateIngressControllerMultipleHAProxyVersions = newFeatureGate("IngressControllerMultipleHAProxyVersions"). reportProblemsToJiraComponent("Networking/router"). contactPerson("miciah"). @@ -814,7 +814,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 d22d2598e82..6943a9c6ecd 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 14c72b8985f..a74cf3a0f8d 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 f12bc551340..0843f6f8ab1 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 172e7b089cb..efe8ffde1d4 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 b165a5cbbb3..aae3a39076f 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 c2385d302e0..e5889809d66 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 52d8b4b22bf..b889b5f8037 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 05bfd699d9d..51a8ed4a88c 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 3df0726e492..eef3fb827d6 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 a85a97344ee..f7237340ec5 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 730c8bfd09a..28b728180ea 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 621c4636571..8c548d7a352 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 72e0cccd9e0..15bdeed1b53 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 fa1a9c70684..26e850d0cc2 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 f85298f2e26..438c80ff7a3 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 c4b860350ec..f65729319ba 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 cfdea516d0d..d48a4415f18 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 dbf3add3f32..990d2fe1a82 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 adfa507c7e1..437c7a96fed 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 8f89ba521cc..ad13b0c099c 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 41072536bde..862599e09a2 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 c6a5026bfa4..0c5db5d828d 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 20de1043c5c..80c1c145f77 100644 --- a/openapi/generated_openapi/zz_generated.openapi.go +++ b/openapi/generated_openapi/zz_generated.openapi.go @@ -22748,7 +22748,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 c6a8928592f..3e86d664a43 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 1a6c3057697..71b57f07f78 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 5c5eec68aea..70e62a33993 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 37951040704..70e553fbaf5 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 ac54ddbd880..b75eec35808 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 d1cdddc8edd..ede9f140e3b 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 29c8c48b957..6eddce0279f 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 d384f214f9a..db14b810a4a 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 d22d2598e82..6943a9c6ecd 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 14c72b8985f..a74cf3a0f8d 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 f12bc551340..0843f6f8ab1 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 172e7b089cb..efe8ffde1d4 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 b165a5cbbb3..aae3a39076f 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 c2385d302e0..e5889809d66 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 52d8b4b22bf..b889b5f8037 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 835fb695be5..84ef567eaa8 100644 --- a/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml @@ -284,9 +284,6 @@ { "name": "VSphereConfigurableMaxAllowedBlockVolumesPerNode" }, - { - "name": "VSphereMultiVCenterDay2" - }, { "name": "VolumeGroupSnapshot" } @@ -393,6 +390,9 @@ }, { "name": "VSphereMultiNetworks" + }, + { + "name": "VSphereMultiVCenterDay2" } ], "version": "" diff --git a/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml b/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml index ae194bc9c68..26402999caf 100644 --- a/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml @@ -286,9 +286,6 @@ { "name": "VSphereConfigurableMaxAllowedBlockVolumesPerNode" }, - { - "name": "VSphereMultiVCenterDay2" - }, { "name": "VolumeGroupSnapshot" } @@ -395,6 +392,9 @@ }, { "name": "VSphereMultiNetworks" + }, + { + "name": "VSphereMultiVCenterDay2" } ], "version": "" diff --git a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml index f4b0d53450f..661a7857807 100644 --- a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml @@ -269,9 +269,6 @@ { "name": "VSphereConfigurableMaxAllowedBlockVolumesPerNode" }, - { - "name": "VSphereMultiVCenterDay2" - }, { "name": "VolumeGroupSnapshot" } @@ -393,6 +390,9 @@ }, { "name": "VSphereMultiNetworks" + }, + { + "name": "VSphereMultiVCenterDay2" } ], "version": "" diff --git a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml index 9eca65c917e..0596ae13d4a 100644 --- a/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml +++ b/payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml @@ -271,9 +271,6 @@ { "name": "VSphereConfigurableMaxAllowedBlockVolumesPerNode" }, - { - "name": "VSphereMultiVCenterDay2" - }, { "name": "VolumeGroupSnapshot" } @@ -395,6 +392,9 @@ }, { "name": "VSphereMultiNetworks" + }, + { + "name": "VSphereMultiVCenterDay2" } ], "version": ""