diff --git a/config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml b/config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml index eb854751251..920dc138518 100644 --- a/config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml +++ b/config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if w name: "Infrastructure" crdName: infrastructures.config.openshift.io featureGates: -- -AWSClusterHostedDNS +- -AWSClusterHostedDNSInstall tests: onCreate: - name: Should be able to create a minimal Infrastructure diff --git a/config/v1/tests/infrastructures.config.openshift.io/AWSClusterHostedDNS.yaml b/config/v1/tests/infrastructures.config.openshift.io/AWSClusterHostedDNS.yaml index a04df42ca67..c46440165e5 100644 --- a/config/v1/tests/infrastructures.config.openshift.io/AWSClusterHostedDNS.yaml +++ b/config/v1/tests/infrastructures.config.openshift.io/AWSClusterHostedDNS.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if w name: "Infrastructure" crdName: infrastructures.config.openshift.io featureGates: -- AWSClusterHostedDNS +- AWSClusterHostedDNSInstall tests: onCreate: - name: Should be able to create a minimal Infrastructure diff --git a/config/v1/tests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml b/config/v1/tests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml new file mode 100644 index 00000000000..c46440165e5 --- /dev/null +++ b/config/v1/tests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml @@ -0,0 +1,247 @@ +apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if we don't have this +name: "Infrastructure" +crdName: infrastructures.config.openshift.io +featureGates: +- AWSClusterHostedDNSInstall +tests: + onCreate: + - name: Should be able to create a minimal Infrastructure + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: {} # No spec is required for a Infrastructure + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: {} + onUpdate: + - name: dnsType should default to `PlatformDefault` when not specified + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + aws: {} + type: AWS + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: AWS + platformStatus: + aws: {} + type: AWS + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: AWS + aws: {} + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: AWS + platformStatus: + aws: {} + type: AWS + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: AWS + aws: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: AWS + platformStatus: + aws: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + type: AWS + - name: should be able to set dnsType to non-default value of `ClusterHosted` + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + aws: {} + type: AWS + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: AWS + aws: {} + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: AWS + platformStatus: + aws: + cloudLoadBalancerConfig: + dnsType: ClusterHosted + type: AWS + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: AWS + aws: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: AWS + platformStatus: + aws: + cloudLoadBalancerConfig: + dnsType: ClusterHosted + type: AWS + - name: Should not allow changing the immutable dnsType field + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + aws: {} + type: AWS + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: AWS + platformStatus: + aws: + cloudLoadBalancerConfig: + dnsType: ClusterHosted + clusterHosted: + apiIntLoadBalancerIPs: + - 10.10.10.20 + type: AWS + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: AWS + aws: {} + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: AWS + platformStatus: + aws: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + type: AWS + expectedStatusError: "status.platformStatus.aws.cloudLoadBalancerConfig.dnsType: Invalid value: \"string\": dnsType is immutable" + - name: Should not accept non-IP address values for Load Balancer IPs + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + aws: {} + type: AWS + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: AWS + platformStatus: + aws: + cloudLoadBalancerConfig: + dnsType: ClusterHosted + clusterHosted: + apiIntLoadBalancerIPs: + - 10.10.10.20 + type: AWS + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: AWS + aws: {} + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: AWS + platformStatus: + aws: + cloudLoadBalancerConfig: + dnsType: ClusterHosted + clusterHosted: + apiIntLoadBalancerIPs: + - 10.10.10.20 + - not-an-ip-address + type: AWS + expectedStatusError: "status.platformStatus.aws.cloudLoadBalancerConfig.clusterHosted.apiIntLoadBalancerIPs[1]: Invalid value: \"string\": value must be a valid IP address" + - name: Should not accept update when `clusterHosted` is specified with DNSType `PlatformDefault` + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + aws: {} + type: AWS + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: AWS + platformStatus: + aws: {} + type: AWS + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: AWS + aws: {} + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: AWS + platformStatus: + aws: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + clusterHosted: + apiIntLoadBalancerIPs: + - 10.10.10.20 + type: AWS + expectedStatusError: "status.platformStatus.aws.cloudLoadBalancerConfig: Invalid value: \"object\": clusterHosted is permitted only when dnsType is ClusterHosted" + - name: Should not accept duplicate IP addresses for any of the Load Balancer IPs + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + aws: {} + type: AWS + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: AWS + aws: {} + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: AWS + platformStatus: + aws: + cloudLoadBalancerConfig: + dnsType: ClusterHosted + clusterHosted: + apiIntLoadBalancerIPs: + - 10.10.10.20 + - 10.10.20.20 + - 10.10.10.20 + type: AWS + expectedStatusError: "status.platformStatus.aws.cloudLoadBalancerConfig.clusterHosted.apiIntLoadBalancerIPs[2]: Duplicate value: \"10.10.10.20\"" diff --git a/config/v1/tests/infrastructures.config.openshift.io/GCPClusterHostedDNS.yaml b/config/v1/tests/infrastructures.config.openshift.io/GCPClusterHostedDNS.yaml index 88363db5fc1..0397f0b0c92 100644 --- a/config/v1/tests/infrastructures.config.openshift.io/GCPClusterHostedDNS.yaml +++ b/config/v1/tests/infrastructures.config.openshift.io/GCPClusterHostedDNS.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if w name: "Infrastructure" crdName: infrastructures.config.openshift.io featureGates: -- GCPClusterHostedDNS +- GCPClusterHostedDNSInstall tests: onCreate: - name: Should be able to create a minimal Infrastructure diff --git a/config/v1/tests/infrastructures.config.openshift.io/GCPClusterHostedDNSInstall.yaml b/config/v1/tests/infrastructures.config.openshift.io/GCPClusterHostedDNSInstall.yaml new file mode 100644 index 00000000000..0397f0b0c92 --- /dev/null +++ b/config/v1/tests/infrastructures.config.openshift.io/GCPClusterHostedDNSInstall.yaml @@ -0,0 +1,247 @@ +apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if we don't have this +name: "Infrastructure" +crdName: infrastructures.config.openshift.io +featureGates: +- GCPClusterHostedDNSInstall +tests: + onCreate: + - name: Should be able to create a minimal Infrastructure + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: {} # No spec is required for a Infrastructure + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: {} + onUpdate: + - name: dnsType should default to `PlatformDefault` when not specified + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + gcp: {} + type: GCP + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + gcp: {} + type: GCP + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + gcp: {} + type: GCP + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + type: GCP + - name: should be able to set dnsType to non-default value of `ClusterHosted` + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + gcp: {} + type: GCP + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + gcp: + cloudLoadBalancerConfig: + dnsType: ClusterHosted + type: GCP + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + gcp: + cloudLoadBalancerConfig: + dnsType: ClusterHosted + type: GCP + - name: Should not allow changing the immutable dnsType field + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + gcp: {} + type: GCP + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + gcp: + cloudLoadBalancerConfig: + dnsType: ClusterHosted + clusterHosted: + apiIntLoadBalancerIPs: + - 10.10.10.20 + type: GCP + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + type: GCP + expectedStatusError: "status.platformStatus.gcp.cloudLoadBalancerConfig.dnsType: Invalid value: \"string\": dnsType is immutable" + - name: Should not accept non-IP address values for Load Balancer IPs + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + gcp: {} + type: GCP + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + gcp: + cloudLoadBalancerConfig: + dnsType: ClusterHosted + clusterHosted: + apiIntLoadBalancerIPs: + - 10.10.10.20 + type: GCP + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + gcp: + cloudLoadBalancerConfig: + dnsType: ClusterHosted + clusterHosted: + apiIntLoadBalancerIPs: + - 10.10.10.20 + - not-an-ip-address + type: GCP + expectedStatusError: "status.platformStatus.gcp.cloudLoadBalancerConfig.clusterHosted.apiIntLoadBalancerIPs[1]: Invalid value: \"string\": value must be a valid IP address" + - name: Should not accept update when `clusterHosted` is specified with DNSType `PlatformDefault` + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + gcp: {} + type: GCP + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + gcp: {} + type: GCP + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + clusterHosted: + apiIntLoadBalancerIPs: + - 10.10.10.20 + type: GCP + expectedStatusError: "status.platformStatus.gcp.cloudLoadBalancerConfig: Invalid value: \"object\": clusterHosted is permitted only when dnsType is ClusterHosted" + - name: Should not accept duplicate IP addresses for any of the Load Balancer IPs + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + gcp: {} + type: GCP + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + gcp: + cloudLoadBalancerConfig: + dnsType: ClusterHosted + clusterHosted: + apiIntLoadBalancerIPs: + - 10.10.10.20 + - 10.10.20.20 + - 10.10.10.20 + type: GCP + expectedStatusError: "status.platformStatus.gcp.cloudLoadBalancerConfig.clusterHosted.apiIntLoadBalancerIPs[2]: Duplicate value: \"10.10.10.20\"" diff --git a/config/v1/tests/infrastructures.config.openshift.io/GCPCustomAPIEndpoints.yaml b/config/v1/tests/infrastructures.config.openshift.io/GCPCustomAPIEndpoints.yaml index fe0ffb50e11..151b7c91727 100644 --- a/config/v1/tests/infrastructures.config.openshift.io/GCPCustomAPIEndpoints.yaml +++ b/config/v1/tests/infrastructures.config.openshift.io/GCPCustomAPIEndpoints.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if w name: "Infrastructure" crdName: infrastructures.config.openshift.io featureGates: -- GCPCustomAPIEndpoints +- GCPCustomAPIEndpointsInstall tests: onCreate: - name: Should be able to create a minimal Infrastructure diff --git a/config/v1/tests/infrastructures.config.openshift.io/GCPCustomAPIEndpointsInstall.yaml b/config/v1/tests/infrastructures.config.openshift.io/GCPCustomAPIEndpointsInstall.yaml new file mode 100644 index 00000000000..151b7c91727 --- /dev/null +++ b/config/v1/tests/infrastructures.config.openshift.io/GCPCustomAPIEndpointsInstall.yaml @@ -0,0 +1,290 @@ +apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if we don't have this +name: "Infrastructure" +crdName: infrastructures.config.openshift.io +featureGates: +- GCPCustomAPIEndpointsInstall +tests: + onCreate: + - name: Should be able to create a minimal Infrastructure + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: {} # No spec is required for a Infrastructure + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: {} + onUpdate: + - name: Basic Service Endpoint + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + type: GCP + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + serviceEndpoints: + - {name: "Compute", url: "https://compute-myendpoint1.p.googleapis.com"} + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + type: GCP + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + serviceEndpoints: + - {name: "Compute", url: "https://compute-myendpoint1.p.googleapis.com"} + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + type: GCP + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + serviceEndpoints: + - {name: "Compute", url: "https://compute-myendpoint1.p.googleapis.com"} + - name: Service Endpoint Same Name + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + type: GCP + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + serviceEndpoints: + - {name: "Compute", url: "https://compute-myendpoint1.p.googleapis.com"} + - {name: "Compute", url: "https://compute-myendpoint2.p.googleapis.com"} + expectedStatusError: "status.platformStatus.gcp.serviceEndpoints: Invalid value: \"array\": only 1 endpoint override is permitted per GCP service name" + - name: Service Endpoint Empty URL + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + type: GCP + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + serviceEndpoints: + - {name: "Compute", url: ""} + expectedStatusError: "status.platformStatus.gcp.serviceEndpoints[0].url: Invalid value: \"string\": must be a valid URL" + - name: Service Endpoint HTTP URL + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + type: GCP + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + serviceEndpoints: + - {name: "Compute", url: "http://compute-myendpoint1.p.googleapis.com"} + expectedStatusError: "status.platformStatus.gcp.serviceEndpoints[0].url: Invalid value: \"string\": scheme must be https" + - name: Service Endpoint URL Too Long + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + type: GCP + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + serviceEndpoints: + - {name: "Compute", url: "https://compute-myendpoint1-where-the-url-name-length-is-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-way-wayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy-too-long.p.googleapis.com"} + expectedStatusError: "[status.platformStatus.gcp.serviceEndpoints[0].url: Too long: may not be more than 253 bytes, : Invalid value: \"null\": some validation rules were not checked because the object was invalid; correct the existing errors to complete validation]" + - name: Service Endpoint Bad Name + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + type: GCP + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + serviceEndpoints: + - {name: "UnknownService", url: "https://compute-myendpoint1.p.googleapis.com"} + expectedStatusError: "[status.platformStatus.gcp.serviceEndpoints[0].name: Unsupported value: \"UnknownService\": supported values: \"Compute\", \"Container\", \"CloudResourceManager\", \"DNS\", \"File\", \"IAM\", \"ServiceUsage\", \"Storage\", : Invalid value: \"null\": some validation rules were not checked because the object was invalid; correct the existing errors to complete validation" + - name: Service Endpoint End Slash + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + type: GCP + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + serviceEndpoints: + - {name: "Compute", url: "https://compute-myendpoint1.p.googleapis.com/"} + expected: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + type: GCP + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + serviceEndpoints: + - {name: "Compute", url: "https://compute-myendpoint1.p.googleapis.com/"} + - name: Service Endpoint Bad Path + initial: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + updated: | + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + platformSpec: + type: GCP + gcp: {} + status: + controlPlaneTopology: HighlyAvailable + cpuPartitioning: None + infrastructureTopology: HighlyAvailable + platform: GCP + platformStatus: + type: GCP + gcp: + cloudLoadBalancerConfig: + dnsType: PlatformDefault + serviceEndpoints: + - {name: "Compute", url: "https://compute-myendpoint1.p.googleapis.com/bad"} + expectedStatusError: "status.platformStatus.gcp.serviceEndpoints[0].url: Invalid value: \"string\": url must consist only of a scheme and domain. The url path must be empty." diff --git a/config/v1/types_infrastructure.go b/config/v1/types_infrastructure.go index 1fc06418c74..1b3432cbc28 100644 --- a/config/v1/types_infrastructure.go +++ b/config/v1/types_infrastructure.go @@ -532,7 +532,7 @@ type AWSPlatformStatus struct { // // +default={"dnsType": "PlatformDefault"} // +kubebuilder:default={"dnsType": "PlatformDefault"} - // +openshift:enable:FeatureGate=AWSClusterHostedDNS + // +openshift:enable:FeatureGate=AWSClusterHostedDNSInstall // +optional // +nullable CloudLoadBalancerConfig *CloudLoadBalancerConfig `json:"cloudLoadBalancerConfig,omitempty"` @@ -745,7 +745,7 @@ type GCPPlatformStatus struct { // // +default={"dnsType": "PlatformDefault"} // +kubebuilder:default={"dnsType": "PlatformDefault"} - // +openshift:enable:FeatureGate=GCPClusterHostedDNS + // +openshift:enable:FeatureGate=GCPClusterHostedDNSInstall // +optional // +nullable CloudLoadBalancerConfig *CloudLoadBalancerConfig `json:"cloudLoadBalancerConfig,omitempty"` @@ -760,7 +760,7 @@ type GCPPlatformStatus struct { // +kubebuilder:validation:MaxItems=8 // +kubebuilder:validation:XValidation:rule="self.all(x, self.exists_one(y, x.name == y.name))",message="only 1 endpoint override is permitted per GCP service name" // +optional - // +openshift:enable:FeatureGate=GCPCustomAPIEndpoints + // +openshift:enable:FeatureGate=GCPCustomAPIEndpointsInstall ServiceEndpoints []GCPServiceEndpoint `json:"serviceEndpoints,omitempty"` } diff --git a/config/v1/zz_generated.featuregated-crd-manifests.yaml b/config/v1/zz_generated.featuregated-crd-manifests.yaml index 91881630b89..1fee444a07d 100644 --- a/config/v1/zz_generated.featuregated-crd-manifests.yaml +++ b/config/v1/zz_generated.featuregated-crd-manifests.yaml @@ -361,11 +361,11 @@ infrastructures.config.openshift.io: Capability: "" Category: "" FeatureGates: - - AWSClusterHostedDNS + - AWSClusterHostedDNSInstall - DualReplica - DyanmicServiceEndpointIBMCloud - - GCPClusterHostedDNS - - GCPCustomAPIEndpoints + - GCPClusterHostedDNSInstall + - GCPCustomAPIEndpointsInstall - HighlyAvailableArbiter - HighlyAvailableArbiter+DualReplica - NutanixMultiSubnets diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNS.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml similarity index 99% rename from config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNS.yaml rename to config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml index 3ea039e8267..b938cccbb4d 100644 --- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNS.yaml +++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml @@ -6,7 +6,7 @@ metadata: api.openshift.io/filename-cvo-runlevel: "0000_10" api.openshift.io/filename-operator: config-operator api.openshift.io/filename-ordering: "01" - feature-gate.release.openshift.io/AWSClusterHostedDNS: "true" + feature-gate.release.openshift.io/AWSClusterHostedDNSInstall: "true" release.openshift.io/bootstrap-required: "true" name: infrastructures.config.openshift.io spec: diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPClusterHostedDNS.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPClusterHostedDNSInstall.yaml similarity index 99% rename from config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPClusterHostedDNS.yaml rename to config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPClusterHostedDNSInstall.yaml index 8fd02ad4b85..e681bf61ed1 100644 --- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPClusterHostedDNS.yaml +++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPClusterHostedDNSInstall.yaml @@ -6,7 +6,7 @@ metadata: api.openshift.io/filename-cvo-runlevel: "0000_10" api.openshift.io/filename-operator: config-operator api.openshift.io/filename-ordering: "01" - feature-gate.release.openshift.io/GCPClusterHostedDNS: "true" + feature-gate.release.openshift.io/GCPClusterHostedDNSInstall: "true" release.openshift.io/bootstrap-required: "true" name: infrastructures.config.openshift.io spec: diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPCustomAPIEndpoints.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPCustomAPIEndpointsInstall.yaml similarity index 99% rename from config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPCustomAPIEndpoints.yaml rename to config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPCustomAPIEndpointsInstall.yaml index 67bb8c317ea..beb440bc7ad 100644 --- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPCustomAPIEndpoints.yaml +++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPCustomAPIEndpointsInstall.yaml @@ -6,7 +6,7 @@ metadata: api.openshift.io/filename-cvo-runlevel: "0000_10" api.openshift.io/filename-operator: config-operator api.openshift.io/filename-ordering: "01" - feature-gate.release.openshift.io/GCPCustomAPIEndpoints: "true" + feature-gate.release.openshift.io/GCPCustomAPIEndpointsInstall: "true" release.openshift.io/bootstrap-required: "true" name: infrastructures.config.openshift.io spec: diff --git a/features.md b/features.md index 927568c8582..3c96021137f 100644 --- a/features.md +++ b/features.md @@ -19,6 +19,7 @@ | VSphereMixedNodeEnv| | | Enabled | Enabled | | | | NewOLM| | Enabled | | Enabled | | Enabled | | AWSClusterHostedDNS| | | Enabled | Enabled | Enabled | Enabled | +| AWSClusterHostedDNSInstall| | | Enabled | Enabled | Enabled | Enabled | | AWSDedicatedHosts| | | Enabled | Enabled | Enabled | Enabled | | AWSServiceLBNetworkSecurityGroup| | | Enabled | Enabled | Enabled | Enabled | | AutomatedEtcdBackup| | | Enabled | Enabled | Enabled | Enabled | @@ -35,7 +36,9 @@ | Example| | | Enabled | Enabled | Enabled | Enabled | | ExternalOIDCWithUIDAndExtraClaimMappings| | | Enabled | Enabled | Enabled | Enabled | | GCPClusterHostedDNS| | | Enabled | Enabled | Enabled | Enabled | +| GCPClusterHostedDNSInstall| | | Enabled | Enabled | Enabled | Enabled | | GCPCustomAPIEndpoints| | | Enabled | Enabled | Enabled | Enabled | +| GCPCustomAPIEndpointsInstall| | | Enabled | Enabled | Enabled | Enabled | | HighlyAvailableArbiter| | | Enabled | Enabled | Enabled | Enabled | | ImageModeStatusReporting| | | Enabled | Enabled | Enabled | Enabled | | ImageStreamImportMode| | | Enabled | Enabled | Enabled | Enabled | diff --git a/features/features.go b/features/features.go index bf9a1c93e7d..9988c4f3bb6 100644 --- a/features/features.go +++ b/features/features.go @@ -834,4 +834,28 @@ var ( enhancementPR("https://github.com/openshift/enhancements/pull/1821"). enableForClusterProfile(SelfManaged, configv1.DevPreviewNoUpgrade). mustRegister() + + FeatureGateGCPClusterHostedDNSInstall = newFeatureGate("GCPClusterHostedDNSInstall"). + reportProblemsToJiraComponent("Installer"). + contactPerson("barbacbd"). + productScope(ocpSpecific). + enhancementPR("https://github.com/openshift/enhancements/pull/1468"). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + mustRegister() + + FeatureGateAWSClusterHostedDNSInstall = newFeatureGate("AWSClusterHostedDNSInstall"). + reportProblemsToJiraComponent("Installer"). + contactPerson("barbacbd"). + productScope(ocpSpecific). + enhancementPR("https://github.com/openshift/enhancements/pull/1468"). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + mustRegister() + + FeatureGateGCPCustomAPIEndpointsInstall = newFeatureGate("GCPCustomAPIEndpointsInstall"). + reportProblemsToJiraComponent("Installer"). + contactPerson("barbacbd"). + productScope(ocpSpecific). + enhancementPR("https://github.com/openshift/enhancements/pull/1492"). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + mustRegister() ) diff --git a/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNS.yaml b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNS.yaml index 3efcd09d1e2..c09aa020e28 100644 --- a/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNS.yaml +++ b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNS.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if w name: "Shamefully missing" crdName: controllerconfigs.machineconfiguration.openshift.io featureGates: -- AWSClusterHostedDNS +- AWSClusterHostedDNSInstall tests: onCreate: - name: Should be able to create a minimal ControllerConfig diff --git a/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml new file mode 100644 index 00000000000..5836e986b1a --- /dev/null +++ b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml @@ -0,0 +1,104 @@ +apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if we don't have this +name: "AWSClusterHostedDNSInstall ControllerConfig" +crdName: controllerconfigs.machineconfiguration.openshift.io +featureGates: +- AWSClusterHostedDNSInstall +tests: + onCreate: + - name: Should be able to create a minimal ControllerConfig + initial: | + apiVersion: machineconfiguration.openshift.io/v1 + kind: ControllerConfig + spec: + additionalTrustBundle: Y2VydGlmaWNhdGUK + baseOSContainerImage: example.com/example/openshift-release-dev@sha256:d98795f7932441b30bb8bcfbbf05912875383fad1f2b3be08a22ec148d68607e + baseOSExtensionsContainerImage: example.com/example/openshift-release-dev@sha256:d98795f7932441b30bb8bcfbbf05912875383fad1f2b3be08a22ec148d68607e + cloudProviderCAData: null + cloudProviderConfig: "" + clusterDNSIP: fd02::a + dns: + apiVersion: config.openshift.io/v1 + kind: DNS + spec: + baseDomain: fake.redhat.com + images: + machineConfigOperator: rexample.com/example/openshift-release-dev@sha256:2c3ea52ac3a41c6d58e85977c3149413e3fa4b70eb2397426456863adbf43306 + infra: + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + cloudConfig: + name: "" + platformSpec: + type: None + status: + apiServerInternalURI: https://api-int.cnfde4.sno.ptp.lab.eng.bos.redhat.com:6443 + apiServerURL: https://api.cnfde4.sno.ptp.lab.eng.bos.redhat.com:6443 + cpuPartitioning: "None" + controlPlaneTopology: SingleReplica + etcdDiscoveryDomain: "" + infrastructureName: cnfde4-sxhr7 + infrastructureTopology: SingleReplica + platform: None + platformStatus: + type: None + ipFamilies: IPv6 + kubeAPIServerServingCAData: Y2VydGlmaWNhdGUK + network: null + networkType: OVNKubernetes + osImageURL: example.com/example/openshift-release-dev@sha256:eacdc37aec78fdbf8caa9601e4012ab31453cf59b086474901900e853e803ea8 + platform: none + proxy: null + pullSecret: + name: pull-secret + namespace: openshift-config + releaseImage: "" + rootCAData: Y2VydGlmaWNhdGUK + expected: | + apiVersion: machineconfiguration.openshift.io/v1 + kind: ControllerConfig + spec: + additionalTrustBundle: Y2VydGlmaWNhdGUK + baseOSContainerImage: example.com/example/openshift-release-dev@sha256:d98795f7932441b30bb8bcfbbf05912875383fad1f2b3be08a22ec148d68607e + baseOSExtensionsContainerImage: example.com/example/openshift-release-dev@sha256:d98795f7932441b30bb8bcfbbf05912875383fad1f2b3be08a22ec148d68607e + cloudProviderCAData: null + cloudProviderConfig: "" + clusterDNSIP: fd02::a + dns: + apiVersion: config.openshift.io/v1 + kind: DNS + spec: + baseDomain: fake.redhat.com + images: + machineConfigOperator: rexample.com/example/openshift-release-dev@sha256:2c3ea52ac3a41c6d58e85977c3149413e3fa4b70eb2397426456863adbf43306 + infra: + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + cloudConfig: + name: "" + platformSpec: + type: None + status: + apiServerInternalURI: https://api-int.cnfde4.sno.ptp.lab.eng.bos.redhat.com:6443 + apiServerURL: https://api.cnfde4.sno.ptp.lab.eng.bos.redhat.com:6443 + cpuPartitioning: "None" + controlPlaneTopology: SingleReplica + etcdDiscoveryDomain: "" + infrastructureName: cnfde4-sxhr7 + infrastructureTopology: SingleReplica + platform: None + platformStatus: + type: None + ipFamilies: IPv6 + kubeAPIServerServingCAData: Y2VydGlmaWNhdGUK + network: null + networkType: OVNKubernetes + osImageURL: example.com/example/openshift-release-dev@sha256:eacdc37aec78fdbf8caa9601e4012ab31453cf59b086474901900e853e803ea8 + platform: none + proxy: null + pullSecret: + name: pull-secret + namespace: openshift-config + releaseImage: "" + rootCAData: Y2VydGlmaWNhdGUK \ No newline at end of file diff --git a/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPClusterHostedDNS.yaml b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPClusterHostedDNS.yaml index cfb7b0a089c..22e7cb3c179 100644 --- a/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPClusterHostedDNS.yaml +++ b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPClusterHostedDNS.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if w name: "Shamefully missing" crdName: controllerconfigs.machineconfiguration.openshift.io featureGates: -- GCPClusterHostedDNS +- GCPClusterHostedDNSInstall tests: onCreate: - name: Should be able to create a minimal ControllerConfig diff --git a/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPClusterHostedDNSInstall.yaml b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPClusterHostedDNSInstall.yaml new file mode 100644 index 00000000000..22e7cb3c179 --- /dev/null +++ b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPClusterHostedDNSInstall.yaml @@ -0,0 +1,104 @@ +apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if we don't have this +name: "Shamefully missing" +crdName: controllerconfigs.machineconfiguration.openshift.io +featureGates: +- GCPClusterHostedDNSInstall +tests: + onCreate: + - name: Should be able to create a minimal ControllerConfig + initial: | + apiVersion: machineconfiguration.openshift.io/v1 + kind: ControllerConfig + spec: + additionalTrustBundle: Y2VydGlmaWNhdGUK + baseOSContainerImage: example.com/example/openshift-release-dev@sha256:d98795f7932441b30bb8bcfbbf05912875383fad1f2b3be08a22ec148d68607e + baseOSExtensionsContainerImage: example.com/example/openshift-release-dev@sha256:d98795f7932441b30bb8bcfbbf05912875383fad1f2b3be08a22ec148d68607e + cloudProviderCAData: null + cloudProviderConfig: "" + clusterDNSIP: fd02::a + dns: + apiVersion: config.openshift.io/v1 + kind: DNS + spec: + baseDomain: fake.redhat.com + images: + machineConfigOperator: rexample.com/example/openshift-release-dev@sha256:2c3ea52ac3a41c6d58e85977c3149413e3fa4b70eb2397426456863adbf43306 + infra: + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + cloudConfig: + name: "" + platformSpec: + type: None + status: + apiServerInternalURI: https://api-int.cnfde4.sno.ptp.lab.eng.bos.redhat.com:6443 + apiServerURL: https://api.cnfde4.sno.ptp.lab.eng.bos.redhat.com:6443 + cpuPartitioning: "None" + controlPlaneTopology: SingleReplica + etcdDiscoveryDomain: "" + infrastructureName: cnfde4-sxhr7 + infrastructureTopology: SingleReplica + platform: None + platformStatus: + type: None + ipFamilies: IPv6 + kubeAPIServerServingCAData: Y2VydGlmaWNhdGUK + network: null + networkType: OVNKubernetes + osImageURL: example.com/example/openshift-release-dev@sha256:eacdc37aec78fdbf8caa9601e4012ab31453cf59b086474901900e853e803ea8 + platform: none + proxy: null + pullSecret: + name: pull-secret + namespace: openshift-config + releaseImage: "" + rootCAData: Y2VydGlmaWNhdGUK + expected: | + apiVersion: machineconfiguration.openshift.io/v1 + kind: ControllerConfig + spec: + additionalTrustBundle: Y2VydGlmaWNhdGUK + baseOSContainerImage: example.com/example/openshift-release-dev@sha256:d98795f7932441b30bb8bcfbbf05912875383fad1f2b3be08a22ec148d68607e + baseOSExtensionsContainerImage: example.com/example/openshift-release-dev@sha256:d98795f7932441b30bb8bcfbbf05912875383fad1f2b3be08a22ec148d68607e + cloudProviderCAData: null + cloudProviderConfig: "" + clusterDNSIP: fd02::a + dns: + apiVersion: config.openshift.io/v1 + kind: DNS + spec: + baseDomain: fake.redhat.com + images: + machineConfigOperator: rexample.com/example/openshift-release-dev@sha256:2c3ea52ac3a41c6d58e85977c3149413e3fa4b70eb2397426456863adbf43306 + infra: + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + cloudConfig: + name: "" + platformSpec: + type: None + status: + apiServerInternalURI: https://api-int.cnfde4.sno.ptp.lab.eng.bos.redhat.com:6443 + apiServerURL: https://api.cnfde4.sno.ptp.lab.eng.bos.redhat.com:6443 + cpuPartitioning: "None" + controlPlaneTopology: SingleReplica + etcdDiscoveryDomain: "" + infrastructureName: cnfde4-sxhr7 + infrastructureTopology: SingleReplica + platform: None + platformStatus: + type: None + ipFamilies: IPv6 + kubeAPIServerServingCAData: Y2VydGlmaWNhdGUK + network: null + networkType: OVNKubernetes + osImageURL: example.com/example/openshift-release-dev@sha256:eacdc37aec78fdbf8caa9601e4012ab31453cf59b086474901900e853e803ea8 + platform: none + proxy: null + pullSecret: + name: pull-secret + namespace: openshift-config + releaseImage: "" + rootCAData: Y2VydGlmaWNhdGUK \ No newline at end of file diff --git a/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpoints.yaml b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpoints.yaml index dde3168248b..91d64a8f606 100644 --- a/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpoints.yaml +++ b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpoints.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if w name: "ControllerConfig" crdName: controllerconfigs.machineconfiguration.openshift.io featureGates: -- GCPCustomAPIEndpoints +- GCPCustomAPIEndpointsInstall tests: onCreate: - name: Should be able to create a minimal ControllerConfig diff --git a/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpointsInstall.yaml b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpointsInstall.yaml new file mode 100644 index 00000000000..91d64a8f606 --- /dev/null +++ b/machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpointsInstall.yaml @@ -0,0 +1,104 @@ +apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if we don't have this +name: "ControllerConfig" +crdName: controllerconfigs.machineconfiguration.openshift.io +featureGates: +- GCPCustomAPIEndpointsInstall +tests: + onCreate: + - name: Should be able to create a minimal ControllerConfig + initial: | + apiVersion: machineconfiguration.openshift.io/v1 + kind: ControllerConfig + spec: + additionalTrustBundle: Y2VydGlmaWNhdGUK + baseOSContainerImage: example.com/example/openshift-release-dev@sha256:d98795f7932441b30bb8bcfbbf05912875383fad1f2b3be08a22ec148d68607e + baseOSExtensionsContainerImage: example.com/example/openshift-release-dev@sha256:d98795f7932441b30bb8bcfbbf05912875383fad1f2b3be08a22ec148d68607e + cloudProviderCAData: null + cloudProviderConfig: "" + clusterDNSIP: fd02::a + dns: + apiVersion: config.openshift.io/v1 + kind: DNS + spec: + baseDomain: fake.redhat.com + images: + machineConfigOperator: rexample.com/example/openshift-release-dev@sha256:2c3ea52ac3a41c6d58e85977c3149413e3fa4b70eb2397426456863adbf43306 + infra: + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + cloudConfig: + name: "" + platformSpec: + type: None + status: + apiServerInternalURI: https://api-int.cnfde4.sno.ptp.lab.eng.bos.redhat.com:6443 + apiServerURL: https://api.cnfde4.sno.ptp.lab.eng.bos.redhat.com:6443 + cpuPartitioning: "None" + controlPlaneTopology: SingleReplica + etcdDiscoveryDomain: "" + infrastructureName: cnfde4-sxhr7 + infrastructureTopology: SingleReplica + platform: None + platformStatus: + type: None + ipFamilies: IPv6 + kubeAPIServerServingCAData: Y2VydGlmaWNhdGUK + network: null + networkType: OVNKubernetes + osImageURL: example.com/example/openshift-release-dev@sha256:eacdc37aec78fdbf8caa9601e4012ab31453cf59b086474901900e853e803ea8 + platform: none + proxy: null + pullSecret: + name: pull-secret + namespace: openshift-config + releaseImage: "" + rootCAData: Y2VydGlmaWNhdGUK + expected: | + apiVersion: machineconfiguration.openshift.io/v1 + kind: ControllerConfig + spec: + additionalTrustBundle: Y2VydGlmaWNhdGUK + baseOSContainerImage: example.com/example/openshift-release-dev@sha256:d98795f7932441b30bb8bcfbbf05912875383fad1f2b3be08a22ec148d68607e + baseOSExtensionsContainerImage: example.com/example/openshift-release-dev@sha256:d98795f7932441b30bb8bcfbbf05912875383fad1f2b3be08a22ec148d68607e + cloudProviderCAData: null + cloudProviderConfig: "" + clusterDNSIP: fd02::a + dns: + apiVersion: config.openshift.io/v1 + kind: DNS + spec: + baseDomain: fake.redhat.com + images: + machineConfigOperator: rexample.com/example/openshift-release-dev@sha256:2c3ea52ac3a41c6d58e85977c3149413e3fa4b70eb2397426456863adbf43306 + infra: + apiVersion: config.openshift.io/v1 + kind: Infrastructure + spec: + cloudConfig: + name: "" + platformSpec: + type: None + status: + apiServerInternalURI: https://api-int.cnfde4.sno.ptp.lab.eng.bos.redhat.com:6443 + apiServerURL: https://api.cnfde4.sno.ptp.lab.eng.bos.redhat.com:6443 + cpuPartitioning: "None" + controlPlaneTopology: SingleReplica + etcdDiscoveryDomain: "" + infrastructureName: cnfde4-sxhr7 + infrastructureTopology: SingleReplica + platform: None + platformStatus: + type: None + ipFamilies: IPv6 + kubeAPIServerServingCAData: Y2VydGlmaWNhdGUK + network: null + networkType: OVNKubernetes + osImageURL: example.com/example/openshift-release-dev@sha256:eacdc37aec78fdbf8caa9601e4012ab31453cf59b086474901900e853e803ea8 + platform: none + proxy: null + pullSecret: + name: pull-secret + namespace: openshift-config + releaseImage: "" + rootCAData: Y2VydGlmaWNhdGUK diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests.yaml index c290c60eba5..af3322dad3f 100644 --- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests.yaml +++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests.yaml @@ -28,11 +28,11 @@ controllerconfigs.machineconfiguration.openshift.io: Capability: "" Category: "" FeatureGates: - - AWSClusterHostedDNS + - AWSClusterHostedDNSInstall - DualReplica - DyanmicServiceEndpointIBMCloud - - GCPClusterHostedDNS - - GCPCustomAPIEndpoints + - GCPClusterHostedDNSInstall + - GCPCustomAPIEndpointsInstall - HighlyAvailableArbiter - HighlyAvailableArbiter+DualReplica - NutanixMultiSubnets diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPClusterHostedDNS.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml similarity index 99% rename from machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPClusterHostedDNS.yaml rename to machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml index 99536ebc072..36b57b52a32 100644 --- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPClusterHostedDNS.yaml +++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml @@ -6,7 +6,7 @@ metadata: api.openshift.io/filename-cvo-runlevel: "0000_80" api.openshift.io/filename-operator: machine-config api.openshift.io/filename-ordering: "01" - feature-gate.release.openshift.io/GCPClusterHostedDNS: "true" + feature-gate.release.openshift.io/AWSClusterHostedDNSInstall: "true" labels: openshift.io/operator-managed: "" name: controllerconfigs.machineconfiguration.openshift.io @@ -1446,6 +1446,110 @@ spec: description: aws contains settings specific to the Amazon Web Services infrastructure provider. properties: + cloudLoadBalancerConfig: + default: + dnsType: PlatformDefault + description: |- + cloudLoadBalancerConfig holds configuration related to DNS and cloud + load balancers. It allows configuration of in-cluster DNS as an alternative + to the platform default DNS implementation. + When using the ClusterHosted DNS type, Load Balancer IP addresses + must be provided for the API and internal API load balancers as well as the + ingress load balancer. + nullable: true + properties: + clusterHosted: + description: |- + clusterHosted holds the IP addresses of API, API-Int and Ingress Load + Balancers on Cloud Platforms. The DNS solution hosted within the cluster + use these IP addresses to provide resolution for API, API-Int and Ingress + services. + properties: + apiIntLoadBalancerIPs: + description: |- + apiIntLoadBalancerIPs holds Load Balancer IPs for the internal API service. + These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses. + Entries in the apiIntLoadBalancerIPs must be unique. + A maximum of 16 IP addresses are permitted. + format: ip + items: + description: IP is an IP address (for example, + "10.0.0.0" or "fd00::"). + maxLength: 39 + minLength: 1 + type: string + x-kubernetes-validations: + - message: value must be a valid IP address + rule: isIP(self) + maxItems: 16 + type: array + x-kubernetes-list-type: set + apiLoadBalancerIPs: + description: |- + apiLoadBalancerIPs holds Load Balancer IPs for the API service. + These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses. + Could be empty for private clusters. + Entries in the apiLoadBalancerIPs must be unique. + A maximum of 16 IP addresses are permitted. + format: ip + items: + description: IP is an IP address (for example, + "10.0.0.0" or "fd00::"). + maxLength: 39 + minLength: 1 + type: string + x-kubernetes-validations: + - message: value must be a valid IP address + rule: isIP(self) + maxItems: 16 + type: array + x-kubernetes-list-type: set + ingressLoadBalancerIPs: + description: |- + ingressLoadBalancerIPs holds IPs for Ingress Load Balancers. + These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses. + Entries in the ingressLoadBalancerIPs must be unique. + A maximum of 16 IP addresses are permitted. + format: ip + items: + description: IP is an IP address (for example, + "10.0.0.0" or "fd00::"). + maxLength: 39 + minLength: 1 + type: string + x-kubernetes-validations: + - message: value must be a valid IP address + rule: isIP(self) + maxItems: 16 + type: array + x-kubernetes-list-type: set + type: object + dnsType: + default: PlatformDefault + description: |- + dnsType indicates the type of DNS solution in use within the cluster. Its default value of + `PlatformDefault` indicates that the cluster's DNS is the default provided by the cloud platform. + It can be set to `ClusterHosted` to bypass the configuration of the cloud default DNS. In this mode, + the cluster needs to provide a self-hosted DNS solution for the cluster's installation to succeed. + The cluster's use of the cloud's Load Balancers is unaffected by this setting. + The value is immutable after it has been set at install time. + Currently, there is no way for the customer to add additional DNS entries into the cluster hosted DNS. + Enabling this functionality allows the user to start their own DNS solution outside the cluster after + installation is complete. The customer would be responsible for configuring this custom DNS solution, + and it can be run in addition to the in-cluster DNS solution. + enum: + - ClusterHosted + - PlatformDefault + type: string + x-kubernetes-validations: + - message: dnsType is immutable + rule: oldSelf == '' || self == oldSelf + type: object + x-kubernetes-validations: + - message: clusterHosted is permitted only when dnsType + is ClusterHosted + rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted'' + ? !has(self.clusterHosted) : true' region: description: region holds the default AWS region for new AWS resources created by the cluster. @@ -1772,110 +1876,6 @@ spec: description: gcp contains settings specific to the Google Cloud Platform infrastructure provider. properties: - cloudLoadBalancerConfig: - default: - dnsType: PlatformDefault - description: |- - cloudLoadBalancerConfig holds configuration related to DNS and cloud - load balancers. It allows configuration of in-cluster DNS as an alternative - to the platform default DNS implementation. - When using the ClusterHosted DNS type, Load Balancer IP addresses - must be provided for the API and internal API load balancers as well as the - ingress load balancer. - nullable: true - properties: - clusterHosted: - description: |- - clusterHosted holds the IP addresses of API, API-Int and Ingress Load - Balancers on Cloud Platforms. The DNS solution hosted within the cluster - use these IP addresses to provide resolution for API, API-Int and Ingress - services. - properties: - apiIntLoadBalancerIPs: - description: |- - apiIntLoadBalancerIPs holds Load Balancer IPs for the internal API service. - These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses. - Entries in the apiIntLoadBalancerIPs must be unique. - A maximum of 16 IP addresses are permitted. - format: ip - items: - description: IP is an IP address (for example, - "10.0.0.0" or "fd00::"). - maxLength: 39 - minLength: 1 - type: string - x-kubernetes-validations: - - message: value must be a valid IP address - rule: isIP(self) - maxItems: 16 - type: array - x-kubernetes-list-type: set - apiLoadBalancerIPs: - description: |- - apiLoadBalancerIPs holds Load Balancer IPs for the API service. - These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses. - Could be empty for private clusters. - Entries in the apiLoadBalancerIPs must be unique. - A maximum of 16 IP addresses are permitted. - format: ip - items: - description: IP is an IP address (for example, - "10.0.0.0" or "fd00::"). - maxLength: 39 - minLength: 1 - type: string - x-kubernetes-validations: - - message: value must be a valid IP address - rule: isIP(self) - maxItems: 16 - type: array - x-kubernetes-list-type: set - ingressLoadBalancerIPs: - description: |- - ingressLoadBalancerIPs holds IPs for Ingress Load Balancers. - These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses. - Entries in the ingressLoadBalancerIPs must be unique. - A maximum of 16 IP addresses are permitted. - format: ip - items: - description: IP is an IP address (for example, - "10.0.0.0" or "fd00::"). - maxLength: 39 - minLength: 1 - type: string - x-kubernetes-validations: - - message: value must be a valid IP address - rule: isIP(self) - maxItems: 16 - type: array - x-kubernetes-list-type: set - type: object - dnsType: - default: PlatformDefault - description: |- - dnsType indicates the type of DNS solution in use within the cluster. Its default value of - `PlatformDefault` indicates that the cluster's DNS is the default provided by the cloud platform. - It can be set to `ClusterHosted` to bypass the configuration of the cloud default DNS. In this mode, - the cluster needs to provide a self-hosted DNS solution for the cluster's installation to succeed. - The cluster's use of the cloud's Load Balancers is unaffected by this setting. - The value is immutable after it has been set at install time. - Currently, there is no way for the customer to add additional DNS entries into the cluster hosted DNS. - Enabling this functionality allows the user to start their own DNS solution outside the cluster after - installation is complete. The customer would be responsible for configuring this custom DNS solution, - and it can be run in addition to the in-cluster DNS solution. - enum: - - ClusterHosted - - PlatformDefault - type: string - x-kubernetes-validations: - - message: dnsType is immutable - rule: oldSelf == '' || self == oldSelf - type: object - x-kubernetes-validations: - - message: clusterHosted is permitted only when dnsType - is ClusterHosted - rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted'' - ? !has(self.clusterHosted) : true' projectID: description: resourceGroupName is the Project ID for new GCP resources created for the cluster. diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNS.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPClusterHostedDNSInstall.yaml similarity index 99% rename from machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNS.yaml rename to machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPClusterHostedDNSInstall.yaml index 17e904a9d67..cc4a3498ffa 100644 --- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNS.yaml +++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPClusterHostedDNSInstall.yaml @@ -6,7 +6,7 @@ metadata: api.openshift.io/filename-cvo-runlevel: "0000_80" api.openshift.io/filename-operator: machine-config api.openshift.io/filename-ordering: "01" - feature-gate.release.openshift.io/AWSClusterHostedDNS: "true" + feature-gate.release.openshift.io/GCPClusterHostedDNSInstall: "true" labels: openshift.io/operator-managed: "" name: controllerconfigs.machineconfiguration.openshift.io @@ -1446,110 +1446,6 @@ spec: description: aws contains settings specific to the Amazon Web Services infrastructure provider. properties: - cloudLoadBalancerConfig: - default: - dnsType: PlatformDefault - description: |- - cloudLoadBalancerConfig holds configuration related to DNS and cloud - load balancers. It allows configuration of in-cluster DNS as an alternative - to the platform default DNS implementation. - When using the ClusterHosted DNS type, Load Balancer IP addresses - must be provided for the API and internal API load balancers as well as the - ingress load balancer. - nullable: true - properties: - clusterHosted: - description: |- - clusterHosted holds the IP addresses of API, API-Int and Ingress Load - Balancers on Cloud Platforms. The DNS solution hosted within the cluster - use these IP addresses to provide resolution for API, API-Int and Ingress - services. - properties: - apiIntLoadBalancerIPs: - description: |- - apiIntLoadBalancerIPs holds Load Balancer IPs for the internal API service. - These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses. - Entries in the apiIntLoadBalancerIPs must be unique. - A maximum of 16 IP addresses are permitted. - format: ip - items: - description: IP is an IP address (for example, - "10.0.0.0" or "fd00::"). - maxLength: 39 - minLength: 1 - type: string - x-kubernetes-validations: - - message: value must be a valid IP address - rule: isIP(self) - maxItems: 16 - type: array - x-kubernetes-list-type: set - apiLoadBalancerIPs: - description: |- - apiLoadBalancerIPs holds Load Balancer IPs for the API service. - These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses. - Could be empty for private clusters. - Entries in the apiLoadBalancerIPs must be unique. - A maximum of 16 IP addresses are permitted. - format: ip - items: - description: IP is an IP address (for example, - "10.0.0.0" or "fd00::"). - maxLength: 39 - minLength: 1 - type: string - x-kubernetes-validations: - - message: value must be a valid IP address - rule: isIP(self) - maxItems: 16 - type: array - x-kubernetes-list-type: set - ingressLoadBalancerIPs: - description: |- - ingressLoadBalancerIPs holds IPs for Ingress Load Balancers. - These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses. - Entries in the ingressLoadBalancerIPs must be unique. - A maximum of 16 IP addresses are permitted. - format: ip - items: - description: IP is an IP address (for example, - "10.0.0.0" or "fd00::"). - maxLength: 39 - minLength: 1 - type: string - x-kubernetes-validations: - - message: value must be a valid IP address - rule: isIP(self) - maxItems: 16 - type: array - x-kubernetes-list-type: set - type: object - dnsType: - default: PlatformDefault - description: |- - dnsType indicates the type of DNS solution in use within the cluster. Its default value of - `PlatformDefault` indicates that the cluster's DNS is the default provided by the cloud platform. - It can be set to `ClusterHosted` to bypass the configuration of the cloud default DNS. In this mode, - the cluster needs to provide a self-hosted DNS solution for the cluster's installation to succeed. - The cluster's use of the cloud's Load Balancers is unaffected by this setting. - The value is immutable after it has been set at install time. - Currently, there is no way for the customer to add additional DNS entries into the cluster hosted DNS. - Enabling this functionality allows the user to start their own DNS solution outside the cluster after - installation is complete. The customer would be responsible for configuring this custom DNS solution, - and it can be run in addition to the in-cluster DNS solution. - enum: - - ClusterHosted - - PlatformDefault - type: string - x-kubernetes-validations: - - message: dnsType is immutable - rule: oldSelf == '' || self == oldSelf - type: object - x-kubernetes-validations: - - message: clusterHosted is permitted only when dnsType - is ClusterHosted - rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted'' - ? !has(self.clusterHosted) : true' region: description: region holds the default AWS region for new AWS resources created by the cluster. @@ -1876,6 +1772,110 @@ spec: description: gcp contains settings specific to the Google Cloud Platform infrastructure provider. properties: + cloudLoadBalancerConfig: + default: + dnsType: PlatformDefault + description: |- + cloudLoadBalancerConfig holds configuration related to DNS and cloud + load balancers. It allows configuration of in-cluster DNS as an alternative + to the platform default DNS implementation. + When using the ClusterHosted DNS type, Load Balancer IP addresses + must be provided for the API and internal API load balancers as well as the + ingress load balancer. + nullable: true + properties: + clusterHosted: + description: |- + clusterHosted holds the IP addresses of API, API-Int and Ingress Load + Balancers on Cloud Platforms. The DNS solution hosted within the cluster + use these IP addresses to provide resolution for API, API-Int and Ingress + services. + properties: + apiIntLoadBalancerIPs: + description: |- + apiIntLoadBalancerIPs holds Load Balancer IPs for the internal API service. + These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses. + Entries in the apiIntLoadBalancerIPs must be unique. + A maximum of 16 IP addresses are permitted. + format: ip + items: + description: IP is an IP address (for example, + "10.0.0.0" or "fd00::"). + maxLength: 39 + minLength: 1 + type: string + x-kubernetes-validations: + - message: value must be a valid IP address + rule: isIP(self) + maxItems: 16 + type: array + x-kubernetes-list-type: set + apiLoadBalancerIPs: + description: |- + apiLoadBalancerIPs holds Load Balancer IPs for the API service. + These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses. + Could be empty for private clusters. + Entries in the apiLoadBalancerIPs must be unique. + A maximum of 16 IP addresses are permitted. + format: ip + items: + description: IP is an IP address (for example, + "10.0.0.0" or "fd00::"). + maxLength: 39 + minLength: 1 + type: string + x-kubernetes-validations: + - message: value must be a valid IP address + rule: isIP(self) + maxItems: 16 + type: array + x-kubernetes-list-type: set + ingressLoadBalancerIPs: + description: |- + ingressLoadBalancerIPs holds IPs for Ingress Load Balancers. + These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses. + Entries in the ingressLoadBalancerIPs must be unique. + A maximum of 16 IP addresses are permitted. + format: ip + items: + description: IP is an IP address (for example, + "10.0.0.0" or "fd00::"). + maxLength: 39 + minLength: 1 + type: string + x-kubernetes-validations: + - message: value must be a valid IP address + rule: isIP(self) + maxItems: 16 + type: array + x-kubernetes-list-type: set + type: object + dnsType: + default: PlatformDefault + description: |- + dnsType indicates the type of DNS solution in use within the cluster. Its default value of + `PlatformDefault` indicates that the cluster's DNS is the default provided by the cloud platform. + It can be set to `ClusterHosted` to bypass the configuration of the cloud default DNS. In this mode, + the cluster needs to provide a self-hosted DNS solution for the cluster's installation to succeed. + The cluster's use of the cloud's Load Balancers is unaffected by this setting. + The value is immutable after it has been set at install time. + Currently, there is no way for the customer to add additional DNS entries into the cluster hosted DNS. + Enabling this functionality allows the user to start their own DNS solution outside the cluster after + installation is complete. The customer would be responsible for configuring this custom DNS solution, + and it can be run in addition to the in-cluster DNS solution. + enum: + - ClusterHosted + - PlatformDefault + type: string + x-kubernetes-validations: + - message: dnsType is immutable + rule: oldSelf == '' || self == oldSelf + type: object + x-kubernetes-validations: + - message: clusterHosted is permitted only when dnsType + is ClusterHosted + rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted'' + ? !has(self.clusterHosted) : true' projectID: description: resourceGroupName is the Project ID for new GCP resources created for the cluster. diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpoints.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpointsInstall.yaml similarity index 99% rename from machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpoints.yaml rename to machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpointsInstall.yaml index f7d09fbeaa4..fbfdffa1900 100644 --- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpoints.yaml +++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPCustomAPIEndpointsInstall.yaml @@ -6,7 +6,7 @@ metadata: api.openshift.io/filename-cvo-runlevel: "0000_80" api.openshift.io/filename-operator: machine-config api.openshift.io/filename-ordering: "01" - feature-gate.release.openshift.io/GCPCustomAPIEndpoints: "true" + feature-gate.release.openshift.io/GCPCustomAPIEndpointsInstall: "true" labels: openshift.io/operator-managed: "" name: controllerconfigs.machineconfiguration.openshift.io diff --git a/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml b/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml index 8969d342c19..a494a02407d 100644 --- a/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml +++ b/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml @@ -16,6 +16,9 @@ { "name": "AWSClusterHostedDNS" }, + { + "name": "AWSClusterHostedDNSInstall" + }, { "name": "AWSDedicatedHosts" }, @@ -82,9 +85,15 @@ { "name": "GCPClusterHostedDNS" }, + { + "name": "GCPClusterHostedDNSInstall" + }, { "name": "GCPCustomAPIEndpoints" }, + { + "name": "GCPCustomAPIEndpointsInstall" + }, { "name": "HighlyAvailableArbiter" }, diff --git a/payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml b/payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml index cb857b180b5..ba3fa946323 100644 --- a/payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml +++ b/payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml @@ -56,6 +56,9 @@ { "name": "AWSClusterHostedDNS" }, + { + "name": "AWSClusterHostedDNSInstall" + }, { "name": "AWSDedicatedHosts" }, @@ -143,9 +146,15 @@ { "name": "GCPClusterHostedDNS" }, + { + "name": "GCPClusterHostedDNSInstall" + }, { "name": "GCPCustomAPIEndpoints" }, + { + "name": "GCPCustomAPIEndpointsInstall" + }, { "name": "GatewayAPI" }, diff --git a/payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml b/payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml index ef16bcf613d..2a7cdfa405e 100644 --- a/payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml +++ b/payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml @@ -74,6 +74,9 @@ { "name": "AWSClusterHostedDNS" }, + { + "name": "AWSClusterHostedDNSInstall" + }, { "name": "AWSDedicatedHosts" }, @@ -149,9 +152,15 @@ { "name": "GCPClusterHostedDNS" }, + { + "name": "GCPClusterHostedDNSInstall" + }, { "name": "GCPCustomAPIEndpoints" }, + { + "name": "GCPCustomAPIEndpointsInstall" + }, { "name": "GatewayAPI" }, diff --git a/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml b/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml index 88809a001f7..261a12cd7da 100644 --- a/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml +++ b/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml @@ -16,6 +16,9 @@ { "name": "AWSClusterHostedDNS" }, + { + "name": "AWSClusterHostedDNSInstall" + }, { "name": "AWSDedicatedHosts" }, @@ -85,9 +88,15 @@ { "name": "GCPClusterHostedDNS" }, + { + "name": "GCPClusterHostedDNSInstall" + }, { "name": "GCPCustomAPIEndpoints" }, + { + "name": "GCPCustomAPIEndpointsInstall" + }, { "name": "HighlyAvailableArbiter" }, diff --git a/payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml b/payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml index 8adaed2b3f0..aba125e4258 100644 --- a/payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml +++ b/payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml @@ -38,6 +38,9 @@ { "name": "AWSClusterHostedDNS" }, + { + "name": "AWSClusterHostedDNSInstall" + }, { "name": "AWSDedicatedHosts" }, @@ -125,9 +128,15 @@ { "name": "GCPClusterHostedDNS" }, + { + "name": "GCPClusterHostedDNSInstall" + }, { "name": "GCPCustomAPIEndpoints" }, + { + "name": "GCPCustomAPIEndpointsInstall" + }, { "name": "GatewayAPI" }, diff --git a/payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml b/payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml index fcbf593c5ea..79d11a0706d 100644 --- a/payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml +++ b/payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml @@ -59,6 +59,9 @@ { "name": "AWSClusterHostedDNS" }, + { + "name": "AWSClusterHostedDNSInstall" + }, { "name": "AWSDedicatedHosts" }, @@ -134,9 +137,15 @@ { "name": "GCPClusterHostedDNS" }, + { + "name": "GCPClusterHostedDNSInstall" + }, { "name": "GCPCustomAPIEndpoints" }, + { + "name": "GCPCustomAPIEndpointsInstall" + }, { "name": "GatewayAPI" },