mirror of
https://github.com/openshift/installer.git
synced 2026-02-05 15:47:14 +01:00
Remove UniqueItem=true validation for API/Ingress ip addresses
Iff the intent of adding kubebuilder/DeepCopy code generation is to enable these types to be used in CRD definitions, it stands to reason that these CRDs should be usable in a k8s cluster. UniqueItem=true is not permitted on CRDs for k8s. This might be controversial because it relaxes validation requirements
This commit is contained in:
@@ -5348,7 +5348,6 @@ spec:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
uniqueItems: true
|
||||
apiVIP:
|
||||
description: |-
|
||||
DeprecatedAPIVIP is the VIP to use for internal API communication
|
||||
@@ -5365,7 +5364,6 @@ spec:
|
||||
type: string
|
||||
maxItems: 2
|
||||
type: array
|
||||
uniqueItems: true
|
||||
bootstrapExternalStaticDNS:
|
||||
description: |-
|
||||
BootstrapExternalStaticDNS is the static network DNS of the bootstrap node.
|
||||
@@ -5547,7 +5545,6 @@ spec:
|
||||
type: string
|
||||
maxItems: 2
|
||||
type: array
|
||||
uniqueItems: true
|
||||
libvirtURI:
|
||||
default: qemu:///system
|
||||
description: |-
|
||||
@@ -6125,7 +6122,6 @@ spec:
|
||||
type: string
|
||||
maxItems: 2
|
||||
type: array
|
||||
uniqueItems: true
|
||||
clusterOSImage:
|
||||
description: ClusterOSImage overrides the url provided in rhcos.json
|
||||
to download the RHCOS Image.
|
||||
@@ -6513,7 +6509,6 @@ spec:
|
||||
type: string
|
||||
maxItems: 2
|
||||
type: array
|
||||
uniqueItems: true
|
||||
loadBalancer:
|
||||
description: |-
|
||||
LoadBalancer defines how the load balancer used by the cluster is configured.
|
||||
@@ -6663,7 +6658,6 @@ spec:
|
||||
type: string
|
||||
maxItems: 2
|
||||
type: array
|
||||
uniqueItems: true
|
||||
cloud:
|
||||
description: Cloud is the name of OpenStack cloud to use from
|
||||
clouds.yaml.
|
||||
@@ -6839,7 +6833,6 @@ spec:
|
||||
type: string
|
||||
maxItems: 2
|
||||
type: array
|
||||
uniqueItems: true
|
||||
lbFloatingIP:
|
||||
description: |-
|
||||
LbFloatingIP is the IP address of an available floating IP in your OpenStack cluster
|
||||
@@ -6942,7 +6935,6 @@ spec:
|
||||
type: string
|
||||
maxItems: 2
|
||||
type: array
|
||||
uniqueItems: true
|
||||
defaultMachinePlatform:
|
||||
description: |-
|
||||
DefaultMachinePlatform is the default configuration used when
|
||||
@@ -7066,7 +7058,6 @@ spec:
|
||||
type: string
|
||||
maxItems: 2
|
||||
type: array
|
||||
uniqueItems: true
|
||||
loadBalancer:
|
||||
description: |-
|
||||
LoadBalancer defines how the load balancer used by the cluster is configured.
|
||||
@@ -7277,7 +7268,6 @@ spec:
|
||||
type: string
|
||||
maxItems: 2
|
||||
type: array
|
||||
uniqueItems: true
|
||||
cluster:
|
||||
description: |-
|
||||
Cluster is the name of the cluster virtual machines will be cloned into.
|
||||
@@ -7625,7 +7615,6 @@ spec:
|
||||
type: string
|
||||
maxItems: 2
|
||||
type: array
|
||||
uniqueItems: true
|
||||
loadBalancer:
|
||||
description: |-
|
||||
LoadBalancer defines how the load balancer used by the cluster is configured.
|
||||
|
||||
@@ -187,7 +187,6 @@ type Platform struct {
|
||||
// one VIP
|
||||
//
|
||||
// +kubebuilder:validation:MaxItems=2
|
||||
// +kubebuilder:validation:UniqueItems=true
|
||||
// +kubebuilder:validation:Format=ip
|
||||
// +optional
|
||||
APIVIPs []string `json:"apiVIPs,omitempty"`
|
||||
@@ -203,7 +202,6 @@ type Platform struct {
|
||||
// clusters it contains an IPv4 and IPv6 address, otherwise only one VIP
|
||||
//
|
||||
// +kubebuilder:validation:MaxItems=2
|
||||
// +kubebuilder:validation:UniqueItems=true
|
||||
// +kubebuilder:validation:Format=ip
|
||||
// +optional
|
||||
IngressVIPs []string `json:"ingressVIPs,omitempty"`
|
||||
@@ -247,7 +245,6 @@ type Platform struct {
|
||||
|
||||
// AdditionalNTPServers defines a list of additional NTP servers
|
||||
// to use for provisioning
|
||||
// +kubebuilder:validation:UniqueItems=true
|
||||
// +optional
|
||||
AdditionalNTPServers []string `json:"additionalNTPServers,omitempty"`
|
||||
}
|
||||
|
||||
@@ -45,7 +45,6 @@ type Platform struct {
|
||||
// it contains an IPv4 and IPv6 address, otherwise only one VIP
|
||||
//
|
||||
// +kubebuilder:validation:MaxItems=2
|
||||
// +kubebuilder:validation:UniqueItems=true
|
||||
// +kubebuilder:validation:Format=ip
|
||||
// +optional
|
||||
APIVIPs []string `json:"apiVIPs,omitempty"`
|
||||
@@ -61,7 +60,6 @@ type Platform struct {
|
||||
// it contains an IPv4 and IPv6 address, otherwise only one VIP
|
||||
//
|
||||
// +kubebuilder:validation:MaxItems=2
|
||||
// +kubebuilder:validation:UniqueItems=true
|
||||
// +kubebuilder:validation:Format=ip
|
||||
// +optional
|
||||
IngressVIPs []string `json:"ingressVIPs,omitempty"`
|
||||
|
||||
@@ -88,7 +88,6 @@ type Platform struct {
|
||||
// CIDR
|
||||
//
|
||||
// +kubebuilder:validation:MaxItems=2
|
||||
// +kubebuilder:validation:UniqueItems=true
|
||||
// +kubebuilder:validation:Format=ip
|
||||
// +optional
|
||||
APIVIPs []string `json:"apiVIPs,omitempty"`
|
||||
@@ -108,7 +107,6 @@ type Platform struct {
|
||||
// CIDR
|
||||
//
|
||||
// +kubebuilder:validation:MaxItems=2
|
||||
// +kubebuilder:validation:UniqueItems=true
|
||||
// +kubebuilder:validation:Format=ip
|
||||
// +optional
|
||||
IngressVIPs []string `json:"ingressVIPs,omitempty"`
|
||||
|
||||
@@ -36,7 +36,6 @@ type Platform struct {
|
||||
// IPv4 and IPv6 address, otherwise only one VIP
|
||||
//
|
||||
// +kubebuilder:validation:MaxItems=2
|
||||
// +kubebuilder:validation:UniqueItems=true
|
||||
// +kubebuilder:validation:Format=ip
|
||||
// +optional
|
||||
APIVIPs []string `json:"api_vips,omitempty"`
|
||||
@@ -55,7 +54,6 @@ type Platform struct {
|
||||
// IPv4 and IPv6 address, otherwise only one VIP
|
||||
//
|
||||
// +kubebuilder:validation:MaxItems=2
|
||||
// +kubebuilder:validation:UniqueItems=true
|
||||
// +kubebuilder:validation:Format=ip
|
||||
// +optional
|
||||
IngressVIPs []string `json:"ingress_vips,omitempty"`
|
||||
|
||||
@@ -93,7 +93,6 @@ type Platform struct {
|
||||
// it contains an IPv4 and IPv6 address, otherwise only one VIP
|
||||
//
|
||||
// +kubebuilder:validation:MaxItems=2
|
||||
// +kubebuilder:validation:UniqueItems=true
|
||||
// +kubebuilder:validation:Format=ip
|
||||
// +optional
|
||||
APIVIPs []string `json:"apiVIPs,omitempty"`
|
||||
@@ -109,7 +108,6 @@ type Platform struct {
|
||||
// contains an IPv4 and IPv6 address, otherwise only one VIP
|
||||
//
|
||||
// +kubebuilder:validation:MaxItems=2
|
||||
// +kubebuilder:validation:UniqueItems=true
|
||||
// +kubebuilder:validation:Format=ip
|
||||
// +optional
|
||||
IngressVIPs []string `json:"ingressVIPs,omitempty"`
|
||||
|
||||
Reference in New Issue
Block a user