Bug 1339626

Summary: Provide option with quick installer to set ClusterHostname
Product: OpenShift Container Platform Reporter: Eric Rich <erich>
Component: InstallerAssignee: Samuel Munilla <smunilla>
Status: CLOSED ERRATA QA Contact: liujia <jiajliu>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.2.0CC: aos-bugs, bleanhar, erich, jiajliu, jokerman, mmccomas, smunilla, tdawson
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Feature: Allow users to override the default clusterhostname for single masters installed. Reason: Requested. Result: In single master installations, users are now given the option to override the default value for openshift_master_cluster_hostname and openshift_master_cluster_public_hostname.
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-01-18 12:41:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Eric Rich 2016-05-25 13:19:07 UTC
Description of problem:

ClusterHostname is set based on the LB in the quick installer. However some customer may want to set this to something that is not the HA component we install (and/or by pass us installing an LB entirely). 

We should provide them a means / mechanism to do so. 

------------

This should would / should have the requirement that the DNS name used for ClusterHostname resolves to and has a routable connection to one of the masters on the correct port.

Comment 1 Samuel Munilla 2016-06-27 12:45:25 UTC
As it is, we're asking the question:

"Setting up High Availability Masters requires a load balancing solution.
Please provide a the FQDN of a host that will be configured as a proxy. (…)"

and setting the response to that to `openshift_master_cluster_hostname`. The question of whether to install haproxy on that host is a followup question:

"Should the reference haproxy load balancer be installed on this host?"

Is there something else I'm missing here?

Comment 3 Eric Rich 2016-07-26 12:47:07 UTC
(In reply to Samuel Munilla from comment #1)
> As it is, we're asking the question:
> 
> "Setting up High Availability Masters requires a load balancing solution.
> Please provide a the FQDN of a host that will be configured as a proxy. (…)"
> 
> and setting the response to that to `openshift_master_cluster_hostname`. The
> question of whether to install haproxy on that host is a followup question:
> 
> "Should the reference haproxy load balancer be installed on this host?"
> 
> Is there something else I'm missing here?

The request here is for the ClusterHostname setting to be set in _non_ HA deployments.

Comment 4 Samuel Munilla 2016-08-12 01:10:22 UTC
Eric, 

Through https://github.com/openshift/openshift-ansible/pull/1778 and some other subsequent work, users can set arbitrary variables in the installer configuration file by setting them under the 'deployment' header. In this case, you can edit installer.cfg.yaml like so:

[…]
deployment:
  openshift_master_cluster_hostname: <HOST>
  hosts:
    […]
  roles:
    […]

and then re-run the quick-installer in unattended mode. Is this sufficient to cover this use case or is there a desire to have it added as a question to the user in interactive mode as well?

Comment 5 Eric Rich 2016-08-12 15:39:28 UTC
(In reply to Samuel Munilla from comment #4)
> Eric, 
> 
> Through https://github.com/openshift/openshift-ansible/pull/1778 and some
> other subsequent work, users can set arbitrary variables in the installer
> configuration file by setting them under the 'deployment' header. In this
> case, you can edit installer.cfg.yaml like so:
> 
> […]
> deployment:
>   openshift_master_cluster_hostname: <HOST>
>   hosts:
>     […]
>   roles:
>     […]
> 
> and then re-run the quick-installer in unattended mode. Is this sufficient
> to cover this use case or is there a desire to have it added as a question
> to the user in interactive mode as well?

This "meets the need", but as this is part of the quick installer, its my opinion that this should be fixed as part of the wrapper.

Comment 10 liujia 2016-10-28 10:28:37 UTC

(In reply to Samuel Munilla from comment #8)
> https://github.com/openshift/openshift-ansible/pull/2563

@smunilla

Is this pr is for another bug 1339621? And for this bug, i don't catch the changes, can u give a right pr link? or some info about this bug? Thx~

Comment 11 liujia 2016-10-28 10:30:59 UTC
@smunilla

I don't find the interactive option to set ClusterHostname in attended quick install for non-ha env. If i missed any info?

Comment 12 Samuel Munilla 2016-11-03 13:57:00 UTC
https://github.com/openshift/openshift-ansible/pull/2683 has updated interactive messaging to make it clearer which question was being used to set that value.

Comment 13 liujia 2016-11-07 06:27:50 UTC
Hi Samuel

I saw this pr has been merged into the latest puddle now. But it still has some issues:
1) "openshift_master_cluster_hostname" in hosts and installer.cfg but "openshift_master_cluster_public_hostname" in hint message.

2) For non-ha env, the cluster host name was not set to default value(master hostname) but a none value.

Comment 14 Scott Dodson 2016-11-10 23:56:55 UTC
additional changes have been merged

Comment 15 liujia 2016-11-14 08:39:03 UTC
Version:
atomic-openshift-utils-3.4.23-1.git.0.317b2cd.el7.noarch

Step:
1.trigger an quick install
# atomic-openshift-installer install
2.input host info(only one master) and select "n" for additional hosts.
Do you want to add additional hosts? [y/N]: n
3.It will output following message for user to make a choice:

You have chosen to install a single master cluster (non-HA).

In a single master cluster, the cluster host name (Ansible variable openshift_master_cluster_public_hostname) is set by default to the host name of the single master. In a multiple master (HA) cluster, the FQDN of a host must be provided that will be configured as a proxy. This could be either an existing load balancer configured to balance all masters on
port 8443 or a new host that would have HAProxy installed on it.

(Optional)
If you want to override the cluster host name now to something other than the default (the host name of the single master), or if you think you might add masters later to become an HA cluster and want to future proof your cluster host name choice, please provide a FQDN. Otherwise, press ENTER to continue and accept the default.

Enter hostname or IP address [None]: x.x.x.x

Result:
The cluster hostname can be set to the sepecified value in quick install.
#cat installer.cfg.yml
openshift_master_cluster_hostname: x.x.x.x
openshift_master_cluster_public_hostname: x.x.x.x

Comment 17 errata-xmlrpc 2017-01-18 12:41:11 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:0066