Bug 1296993 - quick installer config requires values that it could determine on its own
Summary: quick installer config requires values that it could determine on its own
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer
Version: 3.1.0
Hardware: Unspecified
OS: Unspecified
medium
low
Target Milestone: ---
: ---
Assignee: Scott Dodson
QA Contact: Xiaoli Tian
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-01-08 16:28 UTC by Erik M Jacobs
Modified: 2017-08-24 20:48 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-08-24 20:48:44 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Erik M Jacobs 2016-01-08 16:28:32 UTC
==> master: For unattended installs, facts must be provided for all masters/nodes:
==> master: Host "ose3-node2.example.com" missing facts: hostname, public_hostname
==> master: Host "localhost" missing facts: hostname, public_hostname
==> master: Host "ose3-node1.example.com" missing facts: hostname, public_hostname
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

So, if the IP addresses are provided, and for an unattended installation, we could make the assumption that we should use whatever the detected values are. I'm not sure if this is a bug/usability issue or intended.

Comment 1 Brenton Leanhardt 2016-01-08 22:06:01 UTC
For context, can you provide the exact command and all arguments that you ran?

Comment 2 Erik M Jacobs 2016-01-11 12:51:21 UTC
ansible_ssh_user: vagrant
hosts:
- connect_to: localhost
  ip: 192.168.144.2
  master: true
  node: true
  public_ip: 192.168.144.2
- connect_to: ose3-node1.example.com
  ip: 192.168.144.3
  node: true
  public_ip: 192.168.144.3
- connect_to: ose3-node2.example.com
  ip: 192.168.144.4
  node: true
  public_ip: 192.168.144.4
variant: openshift-enterprise
variant_version: '3.1'
version: v1

Run the quick installer unattended specifying this config and you end up with the error above.

Comment 3 Brenton Leanhardt 2016-01-11 13:43:21 UTC
Jason, what are your thoughts on this?

If ansible sees that 'hostname' and public_hostname' aren't set in the common facts how should it react?  Could it just use whatever it finds?

Assuming the public_hostname is the hostname is likely rarely going to work in anything except for demo environments.  The problem I have is that in production environments whenever public_hostname isn't set it's probably a mistake.  If ansible kept going they would likely get fairly far in the installation and only find out near the end that the first step they ran was wrong.  I could see someone wasting many hours debugging etcd and web console problems due to this assumption.

Comment 4 Jason DeTiberus 2016-01-11 18:05:50 UTC
I can easily see both sides of this. We do not require the values to be set when doing an advanced installation using ansible directly, but not providing them in cases that you need them will cause errors that we cannot yet fix without an uninstall.

I think the best compromise for now will be to explicitly make those options mandatory for the v1 config format, and then once we have the ability to replace the certs we can rev the config format and make them optional.


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