Bug 1724100 - Engineering Request: Installing cluster withouth <clustername> prefix directly on basedomain
Summary: Engineering Request: Installing cluster withouth <clustername> prefix directl...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Networking
Version: 4.1.0
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
: ---
Assignee: Dan Mace
QA Contact: Hongan Li
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-06-26 09:06 UTC by Antonio Tauro
Modified: 2022-08-04 22:39 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-06-26 12:56:58 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Antonio Tauro 2019-06-26 09:06:47 UTC
Description of problem:

By default the cluster gets set up on AWS with the following DNS structure:

```
Wildcard Apps DNS:  *.apps.<clustername>.<basedomain>
API DNS: api.<clustername>.<basedomain>
ETCD: etcd-0.<clustername>.<basedomain>
```

As we use separate basedomains for our environments (exampledev.com / example.com) we would rather want to create the cluster without an additional clustername, meaning we want to achieve this DNS structure:

```
Wildcard Apps DNS: *.<basedomain>
API DNS: api.<basedomain>
ETCD: etcd-0.<basedomain>
```

So we get our console to be reachable by default under

```
https://console-openshift-console.exampledev.com 
```
and not

```
https://console-openshift-console.apps.myclustername.exampledev.com
```

But we can't do this as the clustername is not optional and must be included into the install-config.yaml.


We tried changing the basedomain after the installation by modifying the `ingress.config.openshift.io/cluster` but then the ingresscontroller tried to create a *.<basedomain> entry in the DNS Private HostedZone <clustername>.<basedomain> on AWS and got this error:

```
2019-06-26T08:54:33.742Z        ERROR   operator.init.controller-runtime.controller     controller/controller.go:217    Reconciler error        {"controller": "operator-controller", "request": "openshift-ingress-operator/default", "error": "failed to ensure ingresscontroller: failed to ensure DNS for default: failed to ensure DNS record &{{ map[Name:test-azaa-int kubernetes.io/cluster/test-cm5ql:owned]} ALIAS *.exampledev.com -> ###.eu-central-1.elb.amazonaws.com} for openshift-ingress-operator/default: failed to update alias in zone Z065998772O1YGQ3K653: couldn't update DNS record in zone Z06###653: InvalidChangeBatch: [RRSet with DNS name \\052.exampledev.com. is not permitted in zone test.exampledev.com.]\n\tstatus code: 400, request id: 04963a50-97f0-11e9-8cee-1b9d0c13ce08", "errorCauses": [{"error": "failed to ensure ingresscontroller: failed to ensure DNS for default: failed to ensure DNS record &{{ map[Name:test-cm5ql-int kubernetes.io/cluster/test-cm5ql:owned]} ALIAS *.exampledev.com -> ###.eu-central-1.elb.amazonaws.com} for openshift-ingress-operator/default: failed to update alias in zone Z06###653: couldn't update DNS record in zone Z06###653: InvalidChangeBatch: [RRSet with DNS name \\052.exampledev.com. is not permitted in zone test.exampledev.com.]\n\tstatus code: 400, request id: 049###e08"}]}
```

Is there a way to create a cluster directly reachable on the basedomain without any clustername prefix? If not can this be added as an option? 



Version-Release number of selected component (if applicable):

```
$ openshift-install version
bin/openshift-install v4.1.0-201905212232-dirty
built from commit 71d8978039726046929729ad15302973e3da18ce
release image quay.io/openshift-release-dev/ocp-release@sha256:b8307ac0f3ec4ac86c3f3b52846425205022da52c16f56ec31cbe428501001d6
```

How reproducible:

Install a cluster on AWS. Try to change the basedomain of the cluster from `apps.<clustername>.<basedomain>` to `<basedomain>`.


Steps to Reproduce:
1. Install OCP 4.1 Cluster on AWS with openshift-installer
2. After installation `oc edit ingress.config.opneshift.io/cluster`
3. Change spec.domain and remove apps.<clustername>. from it.

Actual results:

Ingress-Operator writes error as it can't update the DNS on the private Zone <clustername>.<basedomain>, as it can't add a *.<basedomain> entry into it.


Expected results:


Cluster can be set up directly on basedomain rather than using a separate clustername prefix as subdomain.


Additional info:

We already use this DNS structure on our OCP 3.11 installations on AWS and want to sidegrade to 4.1 and keep this DNS structure.

Comment 1 Dan Mace 2019-06-26 12:56:58 UTC
With the introduction of OpenShift 4, Red Hat has delivered or roadmapped a
substantial number of features based on feedback by our customers.  Many of the
enhancements encompass specific RFEs which have been requested, or deliver a
comparable solution to a customer problem, rendering an RFE redundant.

This bz (RFE) has been identified as a feature request not yet planned or
scheduled for an OpenShift release and is being closed. 

If this feature is still an active request that needs to be tracked, Red Hat
Support can assist in filing a request in the new JIRA RFE system, as well as
provide you with updates as the RFE progress within our planning processes.
Please open a new support case:
https://access.redhat.com/support/cases/#/case/new 

Opening a New Support Case: https://access.redhat.com/support/cases/#/case/new 

As the new Jira RFE system is not yet public, Red Hat Support can help answer
your questions about your RFEs via the same support case system.

Comment 2 Antonio Tauro 2019-06-26 13:01:41 UTC
I opened the support case #02413500 at the same time I opened this bug here.

Comment 3 Dan Mace 2019-06-26 13:03:09 UTC
(In reply to Antonio Tauro from comment #2)
> I opened the support case #02413500 at the same time I opened this bug here.

Thanks — the support case should be sufficient.


Note You need to log in before you can comment on or make changes to this bug.