Bug 1416617

Summary: crash in collect_storage_host() when attempting to set up a standalone registry
Product: OpenShift Container Platform Reporter: Ken Dreyer (Red Hat) <kdreyer>
Component: InstallerAssignee: Scott Dodson <sdodson>
Status: CLOSED WONTFIX QA Contact: Johnny Liu <jialiu>
Severity: low Docs Contact:
Priority: low    
Version: 3.4.0CC: aos-bugs, jokerman, kdreyer, mmccomas
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-25 15:51:31 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 Ken Dreyer (Red Hat) 2017-01-26 04:02:20 UTC
Description of problem:
I'm attempting to set up a standalone registry as documented at https://docs.openshift.com/container-platform/3.4/install_config/install/stand_alone_registry.html#registry-quick-installation

The series of options I'm choosing in the installer causes it to crash.

Version-Release number of selected component (if applicable):
atomic-openshift-utils-3.4.44-1.git.0.efa61c6.el7

How reproducible:
always

Steps to Reproduce:
$ atomic-openshift-installer install

Are you ready to continue? [y/N]: y

User for ssh access [root]: cloud-user

Which variant would you like to install?
(1) OpenShift Container Platform
(2) Registry

Choose a variant from above:  [1]: 2

Enter hostname or IP address: kdreyer-registry
Will this host be an OpenShift master? [y/N]: n
Will this host be RPM or Container based (rpm/container)? [rpm]: 

*** Installation Summary ***

Hosts:
- kdreyer-registry
  - OpenShift node (Dedicated)

Total OpenShift masters: 0
Total OpenShift nodes: 1

Do you want to add additional hosts? [y/N]: n

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]: kdreyer-registry

Setting up high-availability masters requires a storage host. Please provide a
host that will be configured as a Registry Storage.

Note: Containerized storage hosts are not currently supported.

Traceback (most recent call last):
  File "/bin/atomic-openshift-installer", line 9, in <module>
    load_entry_point('ooinstall==3.0.0', 'console_scripts', 'oo-install')()
  File "/usr/lib/python2.7/site-packages/click/core.py", line 664, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/click/core.py", line 644, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python2.7/site-packages/click/core.py", line 991, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python2.7/site-packages/click/core.py", line 837, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python2.7/site-packages/click/core.py", line 464, in invoke
    return callback(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/ooinstall/cli_installer.py", line 1079, in install
    oo_cfg = get_missing_info_from_user(oo_cfg)
  File "/usr/lib/python2.7/site-packages/ooinstall/cli_installer.py", line 639, in get_missing_info_from_user
    oo_cfg.deployment.hosts, roles = collect_hosts(oo_cfg)
  File "/usr/lib/python2.7/site-packages/ooinstall/cli_installer.py", line 187, in collect_hosts
    collect_storage_host(hosts)
  File "/usr/lib/python2.7/site-packages/ooinstall/cli_installer.py", line 352, in collect_storage_host
    first_master = next(host for host in hosts if host.is_master())
StopIteration


Actual results:
atomic-openshift-installer raises StopIteration with a backtrace

Expected results:
atomic-openshift-installer successfully sets up a standalone registry.

Additional info:
No idea what I'm doing wrong. It would be great if the standalone registry documentation provided step-by-step instructions for which options to enter to atomic-openshift-installer.

Comment 1 Scott Dodson 2017-02-09 20:45:49 UTC
Can you try answering yes to the question about whether or not it's a master?

"Will this host be an OpenShift master? [y/N]"

Comment 2 Ken Dreyer (Red Hat) 2017-02-10 04:31:01 UTC
Thanks Scott, when I answered that, it does not crash.

Should that question be removed from the installer?

Comment 3 Scott Dodson 2017-02-10 21:51:08 UTC
Yeah, we should fix that, thanks for the feedback.