Skip to content

Commit 2757d67

Browse files
Merge pull request #2776 from sadasu/gcpClusterHostedDNS-removal
OCPBUGS-74533: Remove GCPClusterHostedDNSInstall featuregate
2 parents e9d6d43 + 78c930f commit 2757d67

43 files changed

Lines changed: 2461 additions & 5278 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

config/v1/tests/infrastructures.config.openshift.io/GCPClusterHostedDNS.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if we don't have this
22
name: "Infrastructure"
33
crdName: infrastructures.config.openshift.io
4-
featureGates:
5-
- GCPClusterHostedDNSInstall
64
tests:
75
onCreate:
86
- name: Should be able to create a minimal Infrastructure

config/v1/tests/infrastructures.config.openshift.io/GCPClusterHostedDNSInstall.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if we don't have this
22
name: "Infrastructure"
33
crdName: infrastructures.config.openshift.io
4-
featureGates:
5-
- GCPClusterHostedDNSInstall
64
tests:
75
onCreate:
86
- name: Should be able to create a minimal Infrastructure

config/v1/types_infrastructure.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -787,7 +787,6 @@ type GCPPlatformStatus struct {
787787
//
788788
// +default={"dnsType": "PlatformDefault"}
789789
// +kubebuilder:default={"dnsType": "PlatformDefault"}
790-
// +openshift:enable:FeatureGate=GCPClusterHostedDNSInstall
791790
// +optional
792791
// +nullable
793792
CloudLoadBalancerConfig *CloudLoadBalancerConfig `json:"cloudLoadBalancerConfig,omitempty"`

config/v1/zz_generated.featuregated-crd-manifests.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,6 @@ infrastructures.config.openshift.io:
373373
- AzureDualStackInstall
374374
- DualReplica
375375
- DyanmicServiceEndpointIBMCloud
376-
- GCPClusterHostedDNSInstall
377376
- NutanixMultiSubnets
378377
- OnPremDNSRecords
379378
- VSphereHostVMGroupZonal

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AAA_ungated.yaml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1484,6 +1484,110 @@ spec:
14841484
description: gcp contains settings specific to the Google Cloud
14851485
Platform infrastructure provider.
14861486
properties:
1487+
cloudLoadBalancerConfig:
1488+
default:
1489+
dnsType: PlatformDefault
1490+
description: |-
1491+
cloudLoadBalancerConfig holds configuration related to DNS and cloud
1492+
load balancers. It allows configuration of in-cluster DNS as an alternative
1493+
to the platform default DNS implementation.
1494+
When using the ClusterHosted DNS type, Load Balancer IP addresses
1495+
must be provided for the API and internal API load balancers as well as the
1496+
ingress load balancer.
1497+
nullable: true
1498+
properties:
1499+
clusterHosted:
1500+
description: |-
1501+
clusterHosted holds the IP addresses of API, API-Int and Ingress Load
1502+
Balancers on Cloud Platforms. The DNS solution hosted within the cluster
1503+
use these IP addresses to provide resolution for API, API-Int and Ingress
1504+
services.
1505+
properties:
1506+
apiIntLoadBalancerIPs:
1507+
description: |-
1508+
apiIntLoadBalancerIPs holds Load Balancer IPs for the internal API service.
1509+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1510+
Entries in the apiIntLoadBalancerIPs must be unique.
1511+
A maximum of 16 IP addresses are permitted.
1512+
format: ip
1513+
items:
1514+
description: IP is an IP address (for example, "10.0.0.0"
1515+
or "fd00::").
1516+
maxLength: 39
1517+
minLength: 1
1518+
type: string
1519+
x-kubernetes-validations:
1520+
- message: value must be a valid IP address
1521+
rule: isIP(self)
1522+
maxItems: 16
1523+
type: array
1524+
x-kubernetes-list-type: set
1525+
apiLoadBalancerIPs:
1526+
description: |-
1527+
apiLoadBalancerIPs holds Load Balancer IPs for the API service.
1528+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1529+
Could be empty for private clusters.
1530+
Entries in the apiLoadBalancerIPs must be unique.
1531+
A maximum of 16 IP addresses are permitted.
1532+
format: ip
1533+
items:
1534+
description: IP is an IP address (for example, "10.0.0.0"
1535+
or "fd00::").
1536+
maxLength: 39
1537+
minLength: 1
1538+
type: string
1539+
x-kubernetes-validations:
1540+
- message: value must be a valid IP address
1541+
rule: isIP(self)
1542+
maxItems: 16
1543+
type: array
1544+
x-kubernetes-list-type: set
1545+
ingressLoadBalancerIPs:
1546+
description: |-
1547+
ingressLoadBalancerIPs holds IPs for Ingress Load Balancers.
1548+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1549+
Entries in the ingressLoadBalancerIPs must be unique.
1550+
A maximum of 16 IP addresses are permitted.
1551+
format: ip
1552+
items:
1553+
description: IP is an IP address (for example, "10.0.0.0"
1554+
or "fd00::").
1555+
maxLength: 39
1556+
minLength: 1
1557+
type: string
1558+
x-kubernetes-validations:
1559+
- message: value must be a valid IP address
1560+
rule: isIP(self)
1561+
maxItems: 16
1562+
type: array
1563+
x-kubernetes-list-type: set
1564+
type: object
1565+
dnsType:
1566+
default: PlatformDefault
1567+
description: |-
1568+
dnsType indicates the type of DNS solution in use within the cluster. Its default value of
1569+
`PlatformDefault` indicates that the cluster's DNS is the default provided by the cloud platform.
1570+
It can be set to `ClusterHosted` to bypass the configuration of the cloud default DNS. In this mode,
1571+
the cluster needs to provide a self-hosted DNS solution for the cluster's installation to succeed.
1572+
The cluster's use of the cloud's Load Balancers is unaffected by this setting.
1573+
The value is immutable after it has been set at install time.
1574+
Currently, there is no way for the customer to add additional DNS entries into the cluster hosted DNS.
1575+
Enabling this functionality allows the user to start their own DNS solution outside the cluster after
1576+
installation is complete. The customer would be responsible for configuring this custom DNS solution,
1577+
and it can be run in addition to the in-cluster DNS solution.
1578+
enum:
1579+
- ClusterHosted
1580+
- PlatformDefault
1581+
type: string
1582+
x-kubernetes-validations:
1583+
- message: dnsType is immutable
1584+
rule: oldSelf == '' || self == oldSelf
1585+
type: object
1586+
x-kubernetes-validations:
1587+
- message: clusterHosted is permitted only when dnsType is
1588+
ClusterHosted
1589+
rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted''
1590+
? !has(self.clusterHosted) : true'
14871591
projectID:
14881592
description: resourceGroupName is the Project ID for new GCP
14891593
resources created for the cluster.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1581,6 +1581,110 @@ spec:
15811581
description: gcp contains settings specific to the Google Cloud
15821582
Platform infrastructure provider.
15831583
properties:
1584+
cloudLoadBalancerConfig:
1585+
default:
1586+
dnsType: PlatformDefault
1587+
description: |-
1588+
cloudLoadBalancerConfig holds configuration related to DNS and cloud
1589+
load balancers. It allows configuration of in-cluster DNS as an alternative
1590+
to the platform default DNS implementation.
1591+
When using the ClusterHosted DNS type, Load Balancer IP addresses
1592+
must be provided for the API and internal API load balancers as well as the
1593+
ingress load balancer.
1594+
nullable: true
1595+
properties:
1596+
clusterHosted:
1597+
description: |-
1598+
clusterHosted holds the IP addresses of API, API-Int and Ingress Load
1599+
Balancers on Cloud Platforms. The DNS solution hosted within the cluster
1600+
use these IP addresses to provide resolution for API, API-Int and Ingress
1601+
services.
1602+
properties:
1603+
apiIntLoadBalancerIPs:
1604+
description: |-
1605+
apiIntLoadBalancerIPs holds Load Balancer IPs for the internal API service.
1606+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1607+
Entries in the apiIntLoadBalancerIPs must be unique.
1608+
A maximum of 16 IP addresses are permitted.
1609+
format: ip
1610+
items:
1611+
description: IP is an IP address (for example, "10.0.0.0"
1612+
or "fd00::").
1613+
maxLength: 39
1614+
minLength: 1
1615+
type: string
1616+
x-kubernetes-validations:
1617+
- message: value must be a valid IP address
1618+
rule: isIP(self)
1619+
maxItems: 16
1620+
type: array
1621+
x-kubernetes-list-type: set
1622+
apiLoadBalancerIPs:
1623+
description: |-
1624+
apiLoadBalancerIPs holds Load Balancer IPs for the API service.
1625+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1626+
Could be empty for private clusters.
1627+
Entries in the apiLoadBalancerIPs must be unique.
1628+
A maximum of 16 IP addresses are permitted.
1629+
format: ip
1630+
items:
1631+
description: IP is an IP address (for example, "10.0.0.0"
1632+
or "fd00::").
1633+
maxLength: 39
1634+
minLength: 1
1635+
type: string
1636+
x-kubernetes-validations:
1637+
- message: value must be a valid IP address
1638+
rule: isIP(self)
1639+
maxItems: 16
1640+
type: array
1641+
x-kubernetes-list-type: set
1642+
ingressLoadBalancerIPs:
1643+
description: |-
1644+
ingressLoadBalancerIPs holds IPs for Ingress Load Balancers.
1645+
These Load Balancer IP addresses can be IPv4 and/or IPv6 addresses.
1646+
Entries in the ingressLoadBalancerIPs must be unique.
1647+
A maximum of 16 IP addresses are permitted.
1648+
format: ip
1649+
items:
1650+
description: IP is an IP address (for example, "10.0.0.0"
1651+
or "fd00::").
1652+
maxLength: 39
1653+
minLength: 1
1654+
type: string
1655+
x-kubernetes-validations:
1656+
- message: value must be a valid IP address
1657+
rule: isIP(self)
1658+
maxItems: 16
1659+
type: array
1660+
x-kubernetes-list-type: set
1661+
type: object
1662+
dnsType:
1663+
default: PlatformDefault
1664+
description: |-
1665+
dnsType indicates the type of DNS solution in use within the cluster. Its default value of
1666+
`PlatformDefault` indicates that the cluster's DNS is the default provided by the cloud platform.
1667+
It can be set to `ClusterHosted` to bypass the configuration of the cloud default DNS. In this mode,
1668+
the cluster needs to provide a self-hosted DNS solution for the cluster's installation to succeed.
1669+
The cluster's use of the cloud's Load Balancers is unaffected by this setting.
1670+
The value is immutable after it has been set at install time.
1671+
Currently, there is no way for the customer to add additional DNS entries into the cluster hosted DNS.
1672+
Enabling this functionality allows the user to start their own DNS solution outside the cluster after
1673+
installation is complete. The customer would be responsible for configuring this custom DNS solution,
1674+
and it can be run in addition to the in-cluster DNS solution.
1675+
enum:
1676+
- ClusterHosted
1677+
- PlatformDefault
1678+
type: string
1679+
x-kubernetes-validations:
1680+
- message: dnsType is immutable
1681+
rule: oldSelf == '' || self == oldSelf
1682+
type: object
1683+
x-kubernetes-validations:
1684+
- message: clusterHosted is permitted only when dnsType is
1685+
ClusterHosted
1686+
rule: 'has(self.dnsType) && self.dnsType != ''ClusterHosted''
1687+
? !has(self.clusterHosted) : true'
15841688
projectID:
15851689
description: resourceGroupName is the Project ID for new GCP
15861690
resources created for the cluster.

0 commit comments

Comments
 (0)