Bug 1416617 - crash in collect_storage_host() when attempting to set up a standalone registry
Summary: crash in collect_storage_host() when attempting to set up a standalone registry
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer
Version: 3.4.0
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: ---
Assignee: Scott Dodson
QA Contact: Johnny Liu
Depends On:
TreeView+ depends on / blocked
Reported: 2017-01-26 04:02 UTC by Ken Dreyer (Red Hat)
Modified: 2017-08-25 15:51 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2017-08-25 15:51:31 UTC
Target Upstream Version:

Attachments (Terms of Use)

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):

How reproducible:

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 ***

- 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.

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
  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())

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.

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