diff --git a/config/v1/tests/infrastructures.config.openshift.io/VSphereMultiNetworks.yaml b/config/v1/tests/infrastructures.config.openshift.io/VSphereMultiNetworks.yaml index 076fe1284b0..1c0d804d9da 100644 --- a/config/v1/tests/infrastructures.config.openshift.io/VSphereMultiNetworks.yaml +++ b/config/v1/tests/infrastructures.config.openshift.io/VSphereMultiNetworks.yaml @@ -233,7 +233,7 @@ tests: - datacenters: - IBMCloud port: 443 - server: vcs8e-vc.ocp2.dev.cluster.com + server: server1.dev.cluster.com failureDomains: - name: generated-failure-domain region: generated-region @@ -261,7 +261,7 @@ tests: - datacenters: - IBMCloud port: 443 - server: vcs8e-vc.ocp2.dev.cluster.com + server: server1.dev.cluster.com failureDomains: - name: generated-failure-domain region: generated-region @@ -290,7 +290,7 @@ tests: - datacenters: - IBMCloud port: 443 - server: vcs8e-vc.ocp2.dev.cluster.com + server: server1.dev.cluster.com failureDomains: - name: generated-failure-domain region: generated-region @@ -321,7 +321,7 @@ tests: - datacenters: - IBMCloud port: 443 - server: vcs8e-vc.ocp2.dev.cluster.com + server: server1.dev.cluster.com failureDomains: - name: generated-failure-domain region: generated-region @@ -349,7 +349,7 @@ tests: - datacenters: - IBMCloud port: 443 - server: vcs8e-vc.ocp2.dev.cluster.com + server: server1.dev.cluster.com failureDomains: - name: generated-failure-domain region: generated-region @@ -389,7 +389,7 @@ tests: - datacenters: - IBMCloud port: 443 - server: vcs8e-vc.ocp2.dev.cluster.com + server: server1.dev.cluster.com failureDomains: - name: generated-failure-domain region: generated-region @@ -417,7 +417,7 @@ tests: - datacenters: - IBMCloud port: 443 - server: vcs8e-vc.ocp2.dev.cluster.com + server: server1.dev.cluster.com failureDomains: - name: generated-failure-domain region: generated-region diff --git a/config/v1/tests/infrastructures.config.openshift.io/VSphereMultiVCenterDay2.yaml b/config/v1/tests/infrastructures.config.openshift.io/VSphereMultiVCenterDay2.yaml index 2903fb815b3..497e5a7f124 100644 --- a/config/v1/tests/infrastructures.config.openshift.io/VSphereMultiVCenterDay2.yaml +++ b/config/v1/tests/infrastructures.config.openshift.io/VSphereMultiVCenterDay2.yaml @@ -258,6 +258,303 @@ tests: resourcePool: /DC1/host/cluster1/Resources zone: zone1 expectedError: "vcenters must have unique server values" + - name: Should accept Infrastructure with single failure domain matching a vCenter + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + + - name: Should accept Infrastructure with multiple failure domains matching vCenters + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + - server: vcenter2.example.com + datacenters: + - datacenter2 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + - name: fd2 + region: region2 + zone: zone2 + server: vcenter2.example.com + topology: + datacenter: datacenter2 + computeCluster: /datacenter2/host/cluster2 + networks: + - /datacenter2/network/VM Network + datastore: /datacenter2/datastore/datastore2 + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + - server: vcenter2.example.com + datacenters: + - datacenter2 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + - name: fd2 + region: region2 + zone: zone2 + server: vcenter2.example.com + topology: + datacenter: datacenter2 + computeCluster: /datacenter2/host/cluster2 + networks: + - /datacenter2/network/VM Network + datastore: /datacenter2/datastore/datastore2 + + - name: Should accept Infrastructure with multiple failure domains using same vCenter + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + - datacenter2 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + - name: fd2 + region: region2 + zone: zone2 + server: vcenter1.example.com + topology: + datacenter: datacenter2 + computeCluster: /datacenter2/host/cluster2 + networks: + - /datacenter2/network/VM Network + datastore: /datacenter2/datastore/datastore2 + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + - datacenter2 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + - name: fd2 + region: region2 + zone: zone2 + server: vcenter1.example.com + topology: + datacenter: datacenter2 + computeCluster: /datacenter2/host/cluster2 + networks: + - /datacenter2/network/VM Network + datastore: /datacenter2/datastore/datastore2 + + - name: Should accept Infrastructure with vCenters but no failure domains + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + + - name: Should reject Infrastructure with failure domain not matching any vCenter + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter-nonexistent.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + expectedError: "all failure domains must have a corresponding vCenter entry" + + - name: Should reject Infrastructure with some failure domains not matching vCenters + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + - server: vcenter2.example.com + datacenters: + - datacenter2 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + - name: fd2 + region: region2 + zone: zone2 + server: vcenter3.example.com + topology: + datacenter: datacenter2 + computeCluster: /datacenter2/host/cluster2 + networks: + - /datacenter2/network/VM Network + datastore: /datacenter2/datastore/datastore2 + expectedError: "all failure domains must have a corresponding vCenter entry" + + - name: Should reject Infrastructure with failure domain server case mismatch + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: VCENTER1.EXAMPLE.COM + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + expectedError: "all failure domains must have a corresponding vCenter entry" onUpdate: - name: Should be able to add vsphere platform with 1 vcenter post-install initial: | @@ -1065,3 +1362,373 @@ tests: resourcePool: /DC1/host/cluster1/Resources zone: zone1 expectedError: "vcenters must have unique server values" + - name: Should allow adding a failure domain with matching vCenter + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + - server: vcenter2.example.com + datacenters: + - datacenter2 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + - server: vcenter2.example.com + datacenters: + - datacenter2 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + - name: fd2 + region: region2 + zone: zone2 + server: vcenter2.example.com + topology: + datacenter: datacenter2 + computeCluster: /datacenter2/host/cluster2 + networks: + - /datacenter2/network/VM Network + datastore: /datacenter2/datastore/datastore2 + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + - server: vcenter2.example.com + datacenters: + - datacenter2 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + - name: fd2 + region: region2 + zone: zone2 + server: vcenter2.example.com + topology: + datacenter: datacenter2 + computeCluster: /datacenter2/host/cluster2 + networks: + - /datacenter2/network/VM Network + datastore: /datacenter2/datastore/datastore2 + + - name: Should reject adding a failure domain without matching vCenter + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + - name: fd2 + region: region2 + zone: zone2 + server: vcenter3.example.com + topology: + datacenter: datacenter2 + computeCluster: /datacenter2/host/cluster2 + networks: + - /datacenter2/network/VM Network + datastore: /datacenter2/datastore/datastore2 + expectedError: "all failure domains must have a corresponding vCenter entry" + + - name: Should allow removing a failure domain + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + - server: vcenter2.example.com + datacenters: + - datacenter2 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + - name: fd2 + region: region2 + zone: zone2 + server: vcenter2.example.com + topology: + datacenter: datacenter2 + computeCluster: /datacenter2/host/cluster2 + networks: + - /datacenter2/network/VM Network + datastore: /datacenter2/datastore/datastore2 + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + - server: vcenter2.example.com + datacenters: + - datacenter2 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + - server: vcenter2.example.com + datacenters: + - datacenter2 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + + - name: Should allow removing all failure domains + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + failureDomains: + - name: fd1 + region: region1 + zone: zone1 + server: vcenter1.example.com + topology: + datacenter: datacenter1 + computeCluster: /datacenter1/host/cluster1 + networks: + - /datacenter1/network/VM Network + datastore: /datacenter1/datastore/datastore1 + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + failureDomains: [] + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: VSphere + vsphere: + vcenters: + - server: vcenter1.example.com + datacenters: + - datacenter1 + failureDomains: [] + - name: Should not be able to remove a vCenter that is in use by a failure domain + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + cloudConfig: + key: config + name: cloud-provider-config + platformSpec: + type: VSphere + vsphere: + vcenters: + - datacenters: + - DC1 + port: 443 + server: vcenter1.example.com + - datacenters: + - DC2 + port: 443 + server: vcenter2.example.com + failureDomains: + - name: fd1 + region: region1 + server: vcenter1.example.com + topology: + computeCluster: /DC1/host/cluster1 + datacenter: DC1 + datastore: /DC1/datastore/ds1 + networks: + - network1 + resourcePool: /DC1/host/cluster1/Resources + zone: zone1 + - name: fd2 + region: region2 + server: vcenter2.example.com + topology: + computeCluster: /DC2/host/cluster2 + datacenter: DC2 + datastore: /DC2/datastore/ds2 + networks: + - network2 + resourcePool: /DC2/host/cluster2/Resources + zone: zone2 + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + cloudConfig: + key: config + name: cloud-provider-config + platformSpec: + type: VSphere + vsphere: + vcenters: + - datacenters: + - DC1 + port: 443 + server: vcenter1.example.com + failureDomains: + - name: fd1 + region: region1 + server: vcenter1.example.com + topology: + computeCluster: /DC1/host/cluster1 + datacenter: DC1 + datastore: /DC1/datastore/ds1 + networks: + - network1 + resourcePool: /DC1/host/cluster1/Resources + zone: zone1 + - name: fd2 + region: region2 + server: vcenter2.example.com + topology: + computeCluster: /DC2/host/cluster2 + datacenter: DC2 + datastore: /DC2/datastore/ds2 + networks: + - network2 + resourcePool: /DC2/host/cluster2/Resources + zone: zone2 + expectedError: "all failure domains must have a corresponding vCenter entry" diff --git a/config/v1/types_infrastructure.go b/config/v1/types_infrastructure.go index 5d9f10374eb..e0e8f921b08 100644 --- a/config/v1/types_infrastructure.go +++ b/config/v1/types_infrastructure.go @@ -1423,6 +1423,8 @@ type VSpherePlatformFailureDomainSpec struct { ZoneAffinity *VSphereFailureDomainZoneAffinity `json:"zoneAffinity,omitempty"` // server is the fully-qualified domain name or the IP address of the vCenter server. + // This must match the server field of an entry in the vcenters list. + // The server name must be between 1 and 255 characters long. // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=255 @@ -1657,6 +1659,7 @@ 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" +// +openshift:validation:FeatureGateAwareXValidation:featureGate=VSphereMultiVCenterDay2,rule="!has(self.failureDomains) || size(self.failureDomains) == 0 || (has(self.vcenters) && self.failureDomains.all(fd, self.vcenters.exists(vc, vc.server == fd.server)))",message="all failure domains must have a corresponding vCenter entry" type VSpherePlatformSpec struct { // vcenters holds the connection details for services to communicate with vCenter. // Up to 3 vCenters are supported. @@ -1681,6 +1684,7 @@ type VSpherePlatformSpec struct { // 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. // +listType=map // +listMapKey=name // +optional 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 0305366dfd1..e5679e6a5de 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 @@ -621,6 +621,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -665,8 +666,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 2829b41dce9..89d4d5ea63d 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 @@ -701,6 +701,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -745,8 +746,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1108,6 +1111,11 @@ spec: 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 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 a3064161f2e..45dcb133b29 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 @@ -686,6 +686,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -730,8 +731,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1093,6 +1096,11 @@ spec: 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 diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-TechPreviewNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-TechPreviewNoUpgrade.crd.yaml index cafc698a8ac..4c63120c764 100644 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-TechPreviewNoUpgrade.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-TechPreviewNoUpgrade.crd.yaml @@ -686,6 +686,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -730,8 +731,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1093,6 +1096,11 @@ spec: 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 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 6cdb3f76af3..67913eab59d 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 @@ -621,6 +621,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -665,8 +666,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 310ba4ad386..8b928753220 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 @@ -701,6 +701,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -745,8 +746,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1108,6 +1111,11 @@ spec: 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 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 f3b307973b9..216f58f3db5 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 @@ -701,6 +701,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -745,8 +746,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1108,6 +1111,11 @@ spec: 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 diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml index 998b9be396a..6fac060a043 100644 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml @@ -686,6 +686,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -730,8 +731,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1093,6 +1096,11 @@ spec: 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 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 54196944b3d..cbe9205b6f3 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 @@ -621,6 +621,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -661,8 +662,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 249ae603a83..40092dd5048 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 @@ -620,6 +620,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -660,8 +661,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 1b1fe5d1d5a..9d8e2bd2984 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 @@ -620,6 +620,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -660,8 +661,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 2c53641f25d..88536ca099a 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 @@ -620,6 +620,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -660,8 +661,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 fdc0cc246d1..ce7d6557a61 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 @@ -620,6 +620,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -660,8 +661,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 3b20b95be85..d1190dfb5a0 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 @@ -682,6 +682,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -722,8 +723,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 1228dabf9dc..c5de937687a 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 @@ -635,6 +635,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -675,8 +676,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 af5b5458803..d43dac66f95 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 @@ -625,6 +625,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -665,8 +666,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 773a66b4035..0f836586c54 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 @@ -620,6 +620,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -660,8 +661,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 2f0160524a1..7aad18e2da3 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 @@ -620,6 +620,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -660,8 +661,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 4f891b50ea2..65441357d19 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 @@ -620,6 +620,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -660,8 +661,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 64da365ae66..fc1e4923527 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 @@ -620,6 +620,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -660,8 +661,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1003,6 +1006,11 @@ spec: 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 diff --git a/config/v1/zz_generated.swagger_doc_generated.go b/config/v1/zz_generated.swagger_doc_generated.go index 631f11a1b29..ec3f75e646f 100644 --- a/config/v1/zz_generated.swagger_doc_generated.go +++ b/config/v1/zz_generated.swagger_doc_generated.go @@ -2174,7 +2174,7 @@ var map_VSpherePlatformFailureDomainSpec = map[string]string{ "zone": "zone defines the name of a zone tag that will be attached to a vCenter cluster. The tag category in vCenter must be named openshift-zone.", "regionAffinity": "regionAffinity holds the type of region, Datacenter or ComputeCluster. When set to Datacenter, this means the region is a vCenter Datacenter as defined in topology. When set to ComputeCluster, this means the region is a vCenter Cluster as defined in topology.", "zoneAffinity": "zoneAffinity holds the type of the zone and the hostGroup which vmGroup and the hostGroup names in vCenter corresponds to a vm-host group of type Virtual Machine and Host respectively. Is also contains the vmHostRule which is an affinity vm-host rule in vCenter.", - "server": "server is the fully-qualified domain name or the IP address of the vCenter server.", + "server": "server is the fully-qualified domain name or the IP address of the vCenter server. This must match the server field of an entry in the vcenters list. The server name must be between 1 and 255 characters long.", "topology": "topology describes a given failure domain using vSphere constructs", } @@ -2215,7 +2215,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.", - "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.", + "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).", "ingressIPs": "ingressIPs are the external IPs which route to the default ingress controller. The IPs are suitable targets of a wildcard DNS record used to resolve default route host names. 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.ingressIPs will be used. Once set, the list cannot be completely removed (but its second entry can).", 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 7c0f73b0413..2eea6a05476 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 @@ -916,6 +916,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -956,8 +957,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 9fd305414c5..670f983cf11 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 @@ -998,6 +998,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -1038,8 +1039,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1400,6 +1403,11 @@ spec: 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)' 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 4717d10021a..b1fbe8f01b6 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 @@ -983,6 +983,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -1023,8 +1024,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1385,6 +1388,11 @@ spec: 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)' diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-TechPreviewNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-TechPreviewNoUpgrade.crd.yaml index f176deea6ef..d2c536c20ea 100644 --- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-TechPreviewNoUpgrade.crd.yaml +++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-TechPreviewNoUpgrade.crd.yaml @@ -983,6 +983,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -1023,8 +1024,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1385,6 +1388,11 @@ spec: 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)' 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 baa96854daa..9d5cbf17df0 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 @@ -916,6 +916,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -956,8 +957,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 de2a65dfa33..b5c1bcfcc6c 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 @@ -998,6 +998,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -1038,8 +1039,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1400,6 +1403,11 @@ spec: 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)' 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 7bf1e60dfa5..a79effdced0 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 @@ -998,6 +998,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -1038,8 +1039,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1400,6 +1403,11 @@ spec: 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)' diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml index 51b3d3ceca1..93a34a47764 100644 --- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml +++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml @@ -983,6 +983,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -1023,8 +1024,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1385,6 +1388,11 @@ spec: 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)' 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 841fa00be08..f53d10f24c0 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 @@ -916,6 +916,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -956,8 +957,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 17fc55c3c48..2ffbcb6a2be 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 @@ -911,6 +911,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -951,8 +952,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 ee5edcb5edb..da70e522eef 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 @@ -911,6 +911,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -951,8 +952,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 7d64af7ad92..f641f90e93e 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 @@ -915,6 +915,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -955,8 +956,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 92dd1d179f0..dbffa2aa6c6 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 @@ -911,6 +911,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -951,8 +952,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 502a2a57e0c..5ba9ed093b1 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 @@ -911,6 +911,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -951,8 +952,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 4eb2a3a445d..c603d6d4d86 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 @@ -974,6 +974,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -1014,8 +1015,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 112ed773880..29d4be9704f 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 @@ -926,6 +926,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -966,8 +967,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 54291283f24..0ead3b341a5 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 @@ -917,6 +917,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -957,8 +958,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 1ada46a7f67..c67dcc4ab89 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 @@ -911,6 +911,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -951,8 +952,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 94d1396cf89..387cbce1f9a 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 @@ -911,6 +911,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -951,8 +952,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 89ef79987c5..c13486c726d 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 @@ -911,6 +911,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -951,8 +952,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 7a76436b63d..8c37ffd486b 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 @@ -911,6 +911,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -951,8 +952,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1299,6 +1302,11 @@ spec: 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)' diff --git a/openapi/generated_openapi/zz_generated.openapi.go b/openapi/generated_openapi/zz_generated.openapi.go index 636966aeec1..56415b30012 100644 --- a/openapi/generated_openapi/zz_generated.openapi.go +++ b/openapi/generated_openapi/zz_generated.openapi.go @@ -22543,7 +22543,7 @@ func schema_openshift_api_config_v1_VSpherePlatformFailureDomainSpec(ref common. }, "server": { SchemaProps: spec.SchemaProps{ - Description: "server is the fully-qualified domain name or the IP address of the vCenter server.", + Description: "server is the fully-qualified domain name or the IP address of the vCenter server. This must match the server field of an entry in the vcenters list. The server name must be between 1 and 255 characters long.", Default: "", Type: []string{"string"}, Format: "", @@ -22721,7 +22721,7 @@ func schema_openshift_api_config_v1_VSpherePlatformSpec(ref common.ReferenceCall }, }, SchemaProps: spec.SchemaProps{ - Description: "failureDomains contains the definition of region, zone and the vCenter topology. If this is omitted failure domains (regions and zones) will not be used.", + Description: "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.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ diff --git a/openapi/openapi.json b/openapi/openapi.json index 468c116a34e..cff8e0b14c2 100644 --- a/openapi/openapi.json +++ b/openapi/openapi.json @@ -12230,7 +12230,7 @@ "$ref": "#/definitions/com.github.openshift.api.config.v1.VSphereFailureDomainRegionAffinity" }, "server": { - "description": "server is the fully-qualified domain name or the IP address of the vCenter server.", + "description": "server is the fully-qualified domain name or the IP address of the vCenter server. This must match the server field of an entry in the vcenters list. The server name must be between 1 and 255 characters long.", "type": "string", "default": "" }, @@ -12325,7 +12325,7 @@ "x-kubernetes-list-type": "atomic" }, "failureDomains": { - "description": "failureDomains contains the definition of region, zone and the vCenter topology. If this is omitted failure domains (regions and zones) will not be used.", + "description": "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.", "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 0305366dfd1..e5679e6a5de 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 @@ -621,6 +621,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -665,8 +666,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 2829b41dce9..89d4d5ea63d 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 @@ -701,6 +701,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -745,8 +746,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1108,6 +1111,11 @@ spec: 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 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 a3064161f2e..45dcb133b29 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 @@ -686,6 +686,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -730,8 +731,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1093,6 +1096,11 @@ spec: 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 diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-TechPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-TechPreviewNoUpgrade.crd.yaml index cafc698a8ac..4c63120c764 100644 --- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-TechPreviewNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-TechPreviewNoUpgrade.crd.yaml @@ -686,6 +686,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -730,8 +731,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1093,6 +1096,11 @@ spec: 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 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 6cdb3f76af3..67913eab59d 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 @@ -621,6 +621,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -665,8 +666,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 310ba4ad386..8b928753220 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 @@ -701,6 +701,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -745,8 +746,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1108,6 +1111,11 @@ spec: 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 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 f3b307973b9..216f58f3db5 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 @@ -701,6 +701,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -745,8 +746,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1108,6 +1111,11 @@ spec: 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 diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml index 998b9be396a..6fac060a043 100644 --- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml @@ -686,6 +686,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology @@ -730,8 +731,10 @@ spec: - format: ipv4 - format: ipv6 - format: hostname - description: server is the fully-qualified domain name - or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1093,6 +1096,11 @@ spec: 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 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 7c0f73b0413..2eea6a05476 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 @@ -916,6 +916,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -956,8 +957,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 9fd305414c5..670f983cf11 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 @@ -998,6 +998,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -1038,8 +1039,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1400,6 +1403,11 @@ spec: 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)' 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 4717d10021a..b1fbe8f01b6 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 @@ -983,6 +983,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -1023,8 +1024,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1385,6 +1388,11 @@ spec: 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)' diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-TechPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-TechPreviewNoUpgrade.crd.yaml index f176deea6ef..d2c536c20ea 100644 --- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-TechPreviewNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-TechPreviewNoUpgrade.crd.yaml @@ -983,6 +983,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -1023,8 +1024,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1385,6 +1388,11 @@ spec: 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)' 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 baa96854daa..9d5cbf17df0 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 @@ -916,6 +916,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -956,8 +957,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string 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 de2a65dfa33..b5c1bcfcc6c 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 @@ -998,6 +998,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -1038,8 +1039,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1400,6 +1403,11 @@ spec: 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)' 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 7bf1e60dfa5..a79effdced0 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 @@ -998,6 +998,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -1038,8 +1039,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1400,6 +1403,11 @@ spec: 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)' diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml index 51b3d3ceca1..93a34a47764 100644 --- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml @@ -983,6 +983,7 @@ spec: description: |- 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. items: description: VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter @@ -1023,8 +1024,10 @@ spec: - type type: object server: - description: server is the fully-qualified domain - name or the IP address of the vCenter server. + description: |- + server is the fully-qualified domain name or the IP address of the vCenter server. + This must match the server field of an entry in the vcenters list. + The server name must be between 1 and 255 characters long. maxLength: 255 minLength: 1 type: string @@ -1385,6 +1388,11 @@ spec: 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)'