Skip to content

Commit 8be6dcd

Browse files
committed
Promote GCPClusterHostedDNS to Default
1 parent e577b4d commit 8be6dcd

File tree

7 files changed

+361
-21
lines changed

7 files changed

+361
-21
lines changed

config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml

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

features.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
| EtcdBackendQuota| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
2727
| Example| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
2828
| ExternalOIDCWithUIDAndExtraClaimMappings| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
29-
| GCPClusterHostedDNS| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
29+
| GCPClusterHostedDNS| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
3030
| GCPCustomAPIEndpoints| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
3131
| HighlyAvailableArbiter| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
3232
| ImageStreamImportMode| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |

features/features.go

+14-14
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ var (
358358
contactPerson("barbacbd").
359359
productScope(ocpSpecific).
360360
enhancementPR(legacyFeatureGateWithoutEnhancement).
361-
enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
361+
enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
362362
mustRegister()
363363

364364
FeatureGateAWSClusterHostedDNS = newFeatureGate("AWSClusterHostedDNS").
@@ -483,13 +483,13 @@ var (
483483
mustRegister()
484484

485485
FeatureGateExternalOIDCWithAdditionalClaimMappings = newFeatureGate("ExternalOIDCWithUIDAndExtraClaimMappings").
486-
reportProblemsToJiraComponent("authentication").
487-
contactPerson("bpalmer").
488-
productScope(ocpSpecific).
489-
enhancementPR("https://github.com/openshift/enhancements/pull/1777").
490-
enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
491-
enableForClusterProfile(Hypershift, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
492-
mustRegister()
486+
reportProblemsToJiraComponent("authentication").
487+
contactPerson("bpalmer").
488+
productScope(ocpSpecific).
489+
enhancementPR("https://github.com/openshift/enhancements/pull/1777").
490+
enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
491+
enableForClusterProfile(Hypershift, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
492+
mustRegister()
493493

494494
FeatureGateExample = newFeatureGate("Example").
495495
reportProblemsToJiraComponent("cluster-config").
@@ -540,12 +540,12 @@ var (
540540
mustRegister()
541541

542542
FeatureGateNewOLMOwnSingleNamespace = newFeatureGate("NewOLMOwnSingleNamespace").
543-
reportProblemsToJiraComponent("olm").
544-
contactPerson("nschieder").
545-
productScope(ocpSpecific).
546-
enhancementPR("https://github.com/openshift/enhancements/pull/1774").
547-
enableForClusterProfile(SelfManaged, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
548-
mustRegister()
543+
reportProblemsToJiraComponent("olm").
544+
contactPerson("nschieder").
545+
productScope(ocpSpecific).
546+
enhancementPR("https://github.com/openshift/enhancements/pull/1774").
547+
enableForClusterProfile(SelfManaged, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
548+
mustRegister()
549549

550550
FeatureGateInsightsOnDemandDataGather = newFeatureGate("InsightsOnDemandDataGather").
551551
reportProblemsToJiraComponent("insights").

0 commit comments

Comments
 (0)