Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

15 changes: 9 additions & 6 deletions config/v1/types_infrastructure.go
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,9 @@ type ExternalPlatformSpec struct {
// PlatformSpec holds the desired state specific to the underlying infrastructure provider
// of the current cluster. Since these are used at spec-level for the underlying cluster, it
// is supposed that only one of the spec structs is set.
// +kubebuilder:validation:XValidation:rule="!has(oldSelf.vsphere) && has(self.vsphere) ? size(self.vsphere.vcenters) < 2 : true",message="vcenters can have at most 1 item when configured post-install"
// +openshift:validation:FeatureGateAwareXValidation:featureGate="",rule="!has(oldSelf.vsphere) && has(self.vsphere) ? (has(self.vsphere.vcenters) && size(self.vsphere.vcenters) < 2) : true",message="vcenters can have at most 1 item when configured post-install"
// +openshift:validation:FeatureGateAwareXValidation:featureGate=VSphereMultiVCenterDay2,rule="has(oldSelf.vsphere) && has(oldSelf.vsphere.vcenters) ? (has(self.vsphere) && has(self.vsphere.vcenters)) : true",message="vcenters is required once set and cannot be removed"
// +openshift:validation:FeatureGateAwareXValidation:featureGate=VSphereMultiVCenterDay2,rule="!has(oldSelf.vsphere) && has(self.vsphere) && has(self.vsphere.vcenters) ? size(self.vsphere.vcenters) > 0 : true",message="vcenters must have at least 1 item when initially configured"
type PlatformSpec struct {
// type is the underlying infrastructure provider for the cluster. This
// value controls whether infrastructure automation such as service load
Expand Down Expand Up @@ -1641,21 +1643,22 @@ type VSpherePlatformNodeNetworking struct {
// use these fields for configuration.
// +kubebuilder:validation:XValidation:rule="!has(oldSelf.apiServerInternalIPs) || has(self.apiServerInternalIPs)",message="apiServerInternalIPs list is required once set"
// +kubebuilder:validation:XValidation:rule="!has(oldSelf.ingressIPs) || has(self.ingressIPs)",message="ingressIPs list is required once set"
// +kubebuilder:validation:XValidation:rule="!has(oldSelf.vcenters) && has(self.vcenters) ? size(self.vcenters) < 2 : true",message="vcenters can have at most 1 item when configured post-install"
type VSpherePlatformSpec struct {
// vcenters holds the connection details for services to communicate with vCenter.
// Currently, only a single vCenter is supported, but in tech preview 3 vCenters are supported.
// Currently, up to 3 vCenters are supported.
// Once the cluster has been installed, you are unable to change the current number of defined
// vCenters except in the case where the cluster has been upgraded from a version of OpenShift
// where the vsphere platform spec was not present. You may make modifications to the existing
// 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.
// ---
// + If VCenters is not defined use the existing cloud-config configmap defined
// + in openshift-config.
// +kubebuilder:validation:MinItems=0
// +kubebuilder:validation:MaxItems=3
// +kubebuilder:validation:XValidation:rule="size(self) != size(oldSelf) ? size(oldSelf) == 0 && size(self) < 2 : true",message="vcenters cannot be added or removed once set"
// +openshift:validation:FeatureGateAwareXValidation:featureGate="",rule="size(self) != size(oldSelf) ? size(oldSelf) == 0 && size(self) < 2 : true",message="vcenters cannot be added or removed once set"
// +openshift:validation:FeatureGateAwareXValidation:featureGate=VSphereMultiVCenterDay2,rule="size(self) != size(oldSelf) ? size(self) > 0 : true",message="vcenters must have at least 1 item"
// +listType=atomic
// +optional
VCenters []VSpherePlatformVCenterSpec `json:"vcenters,omitempty"`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1031,10 +1031,11 @@ spec:
vcenters:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Currently, only a single vCenter is supported, but in tech preview 3 vCenters are supported.
Currently, up to 3 vCenters are supported.
Once the cluster has been installed, you are unable to change the current number of defined
vCenters except in the case where the cluster has been upgraded from a version of OpenShift
where the vsphere platform spec was not present. You may make modifications to the existing
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.
items:
Expand Down Expand Up @@ -1083,23 +1084,22 @@ spec:
type: array
x-kubernetes-list-type: atomic
x-kubernetes-validations:
- message: vcenters cannot be added or removed once set
rule: 'size(self) != size(oldSelf) ? size(oldSelf) == 0
&& size(self) < 2 : true'
- message: vcenters must have at least 1 item
rule: 'size(self) != size(oldSelf) ? size(self) > 0 : true'
type: object
x-kubernetes-validations:
- 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)'
- message: vcenters can have at most 1 item when configured post-install
rule: '!has(oldSelf.vcenters) && has(self.vcenters) ? size(self.vcenters)
< 2 : true'
type: object
x-kubernetes-validations:
- message: vcenters can have at most 1 item when configured post-install
rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? size(self.vsphere.vcenters)
< 2 : true'
- message: vcenters is required once set and cannot be removed
rule: 'has(oldSelf.vsphere) && has(oldSelf.vsphere.vcenters) ? (has(self.vsphere)
&& has(self.vsphere.vcenters)) : true'
- message: vcenters must have at least 1 item when initially configured
rule: '!has(oldSelf.vsphere) && has(self.vsphere) && has(self.vsphere.vcenters)
? size(self.vsphere.vcenters) > 0 : true'
type: object
status:
description: status holds observed values from the cluster. They may not
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -965,10 +965,11 @@ spec:
vcenters:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Currently, only a single vCenter is supported, but in tech preview 3 vCenters are supported.
Currently, up to 3 vCenters are supported.
Once the cluster has been installed, you are unable to change the current number of defined
vCenters except in the case where the cluster has been upgraded from a version of OpenShift
where the vsphere platform spec was not present. You may make modifications to the existing
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.
items:
Expand Down Expand Up @@ -1026,14 +1027,11 @@ spec:
rule: '!has(oldSelf.apiServerInternalIPs) || has(self.apiServerInternalIPs)'
- message: ingressIPs list is required once set
rule: '!has(oldSelf.ingressIPs) || has(self.ingressIPs)'
- message: vcenters can have at most 1 item when configured post-install
rule: '!has(oldSelf.vcenters) && has(self.vcenters) ? size(self.vcenters)
< 2 : true'
type: object
x-kubernetes-validations:
- message: vcenters can have at most 1 item when configured post-install
rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? size(self.vsphere.vcenters)
< 2 : true'
rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? (has(self.vsphere.vcenters)
&& size(self.vsphere.vcenters) < 2) : true'
type: object
status:
description: status holds observed values from the cluster. They may not
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1031,10 +1031,11 @@ spec:
vcenters:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Currently, only a single vCenter is supported, but in tech preview 3 vCenters are supported.
Currently, up to 3 vCenters are supported.
Once the cluster has been installed, you are unable to change the current number of defined
vCenters except in the case where the cluster has been upgraded from a version of OpenShift
where the vsphere platform spec was not present. You may make modifications to the existing
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.
items:
Expand Down Expand Up @@ -1083,23 +1084,22 @@ spec:
type: array
x-kubernetes-list-type: atomic
x-kubernetes-validations:
- message: vcenters cannot be added or removed once set
rule: 'size(self) != size(oldSelf) ? size(oldSelf) == 0
&& size(self) < 2 : true'
- message: vcenters must have at least 1 item
rule: 'size(self) != size(oldSelf) ? size(self) > 0 : true'
type: object
x-kubernetes-validations:
- 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)'
- message: vcenters can have at most 1 item when configured post-install
rule: '!has(oldSelf.vcenters) && has(self.vcenters) ? size(self.vcenters)
< 2 : true'
type: object
x-kubernetes-validations:
- message: vcenters can have at most 1 item when configured post-install
rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? size(self.vsphere.vcenters)
< 2 : true'
- message: vcenters is required once set and cannot be removed
rule: 'has(oldSelf.vsphere) && has(oldSelf.vsphere.vcenters) ? (has(self.vsphere)
&& has(self.vsphere.vcenters)) : true'
- message: vcenters must have at least 1 item when initially configured
rule: '!has(oldSelf.vsphere) && has(self.vsphere) && has(self.vsphere.vcenters)
? size(self.vsphere.vcenters) > 0 : true'
type: object
status:
description: status holds observed values from the cluster. They may not
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -965,10 +965,11 @@ spec:
vcenters:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Currently, only a single vCenter is supported, but in tech preview 3 vCenters are supported.
Currently, up to 3 vCenters are supported.
Once the cluster has been installed, you are unable to change the current number of defined
vCenters except in the case where the cluster has been upgraded from a version of OpenShift
where the vsphere platform spec was not present. You may make modifications to the existing
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.
items:
Expand Down Expand Up @@ -1026,14 +1027,11 @@ spec:
rule: '!has(oldSelf.apiServerInternalIPs) || has(self.apiServerInternalIPs)'
- message: ingressIPs list is required once set
rule: '!has(oldSelf.ingressIPs) || has(self.ingressIPs)'
- message: vcenters can have at most 1 item when configured post-install
rule: '!has(oldSelf.vcenters) && has(self.vcenters) ? size(self.vcenters)
< 2 : true'
type: object
x-kubernetes-validations:
- message: vcenters can have at most 1 item when configured post-install
rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? size(self.vsphere.vcenters)
< 2 : true'
rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? (has(self.vsphere.vcenters)
&& size(self.vsphere.vcenters) < 2) : true'
type: object
status:
description: status holds observed values from the cluster. They may not
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1031,10 +1031,11 @@ spec:
vcenters:
description: |-
vcenters holds the connection details for services to communicate with vCenter.
Currently, only a single vCenter is supported, but in tech preview 3 vCenters are supported.
Currently, up to 3 vCenters are supported.
Once the cluster has been installed, you are unable to change the current number of defined
vCenters except in the case where the cluster has been upgraded from a version of OpenShift
where the vsphere platform spec was not present. You may make modifications to the existing
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.
items:
Expand Down Expand Up @@ -1092,14 +1093,11 @@ spec:
rule: '!has(oldSelf.apiServerInternalIPs) || has(self.apiServerInternalIPs)'
- message: ingressIPs list is required once set
rule: '!has(oldSelf.ingressIPs) || has(self.ingressIPs)'
- message: vcenters can have at most 1 item when configured post-install
rule: '!has(oldSelf.vcenters) && has(self.vcenters) ? size(self.vcenters)
< 2 : true'
type: object
x-kubernetes-validations:
- message: vcenters can have at most 1 item when configured post-install
rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? size(self.vsphere.vcenters)
< 2 : true'
rule: '!has(oldSelf.vsphere) && has(self.vsphere) ? (has(self.vsphere.vcenters)
&& size(self.vsphere.vcenters) < 2) : true'
type: object
status:
description: status holds observed values from the cluster. They may not
Expand Down
1 change: 1 addition & 0 deletions config/v1/zz_generated.featuregated-crd-manifests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -377,6 +377,7 @@ infrastructures.config.openshift.io:
- OnPremDNSRecords
- VSphereHostVMGroupZonal
- VSphereMultiNetworks
- VSphereMultiVCenterDay2
FilenameOperatorName: config-operator
FilenameOperatorOrdering: "01"
FilenameRunLevel: "0000_10"
Expand Down
Loading