summaryrefslogtreecommitdiffstats
path: root/utils/src/ooinstall
diff options
context:
space:
mode:
Diffstat (limited to 'utils/src/ooinstall')
-rw-r--r--utils/src/ooinstall/cli_installer.py57
1 files changed, 45 insertions, 12 deletions
diff --git a/utils/src/ooinstall/cli_installer.py b/utils/src/ooinstall/cli_installer.py
index 31e8cb147..dbe3f6c32 100644
--- a/utils/src/ooinstall/cli_installer.py
+++ b/utils/src/ooinstall/cli_installer.py
@@ -144,7 +144,7 @@ http://docs.openshift.com/enterprise/latest/architecture/infrastructure_componen
hosts.append(host)
if print_summary:
- print_host_summary(hosts)
+ print_installation_summary(hosts)
# If we have one master, this is enough for an all-in-one deployment,
# thus we can start asking if you wish to proceed. Otherwise we assume
@@ -158,18 +158,26 @@ http://docs.openshift.com/enterprise/latest/architecture/infrastructure_componen
return hosts
-def print_host_summary(hosts):
+def print_installation_summary(hosts):
+ """
+ Displays a summary of all hosts configured thus far, and what role each
+ will play.
+
+ Shows total nodes/masters, hints for performing/modifying the deployment
+ with additional setup, warnings for invalid or sub-optimal configurations.
+ """
+ click.clear()
+ click.echo('*** Installation Summary ***\n')
+ click.echo('Hosts:')
+ for host in hosts:
+ print_host_summary(hosts, host)
+
masters = [host for host in hosts if host.master]
nodes = [host for host in hosts if host.node]
+ dedicated_nodes = [host for host in hosts if host.node and not host.master]
click.echo('')
- click.echo('OpenShift Masters: %s' % len(masters))
- for host in masters:
- click.echo(' %s' % host.connect_to)
- click.echo('OpenShift Nodes: %s' % len(nodes))
- for host in nodes:
- click.echo(' %s' % host.connect_to)
-
- click.echo("")
+ click.echo('Total OpenShift Masters: %s' % len(masters))
+ click.echo('Total OpenShift Nodes: %s' % len(nodes))
if len(masters) == 1:
ha_hint_message = """
@@ -195,7 +203,6 @@ Node."""
min_ha_nodes_message = """
WARNING: A minimum of 3 dedicated Nodes are recommended for an HA
deployment."""
- dedicated_nodes = [host for host in hosts if host.node and not host.master]
if len(dedicated_nodes) == 0:
click.echo(dedicated_nodes_message)
elif len(dedicated_nodes) < 3:
@@ -204,6 +211,32 @@ deployment."""
click.echo('')
+def print_host_summary(all_hosts, host):
+ description_tokens = []
+ masters = [ahost for ahost in all_hosts if ahost.master]
+ nodes = [ahost for ahost in all_hosts if ahost.node]
+ click.echo("- %s" % host.connect_to)
+ if host.master:
+ click.echo(" - OpenShift Master")
+ if host.node:
+ if not host.master:
+ click.echo(" - OpenShift Node (Dedicated)")
+ elif host.master and len(masters) == len(nodes):
+ click.echo(" - OpenShift Node")
+ else:
+ click.echo(" - OpenShift Node (Unscheduled)")
+ if host.master_lb:
+ if host.preconfigured:
+ click.echo(" - Load Balancer (Preconfigured)")
+ else:
+ click.echo(" - Load Balancer (HAProxy)")
+ if host.master:
+ if len(masters) > 1:
+ click.echo(" - Etcd Member")
+ else:
+ click.echo(" - Etcd (Embedded)")
+
+
def collect_master_lb(hosts):
"""
Get a valid load balancer from the user and append it to the list of
@@ -723,7 +756,7 @@ def install(ctx, force):
check_hosts_config(oo_cfg, ctx.obj['unattended'])
click.echo('Gathering information from hosts...')
- print_host_summary(oo_cfg.hosts)
+ print_installation_summary(oo_cfg.hosts)
callback_facts, error = openshift_ansible.default_facts(oo_cfg.hosts,
verbose)
if error: