From 4c1b0dd4ab8f3a5d4fcfa4ba1501ed374793e77a Mon Sep 17 00:00:00 2001
From: Jason DeTiberus <jdetiber@redhat.com>
Date: Fri, 6 Nov 2015 16:56:37 -0500
Subject: Refactor upgrade playbook(s)

- Split playbooks into two, one for 3.0 minor upgrades and one for 3.0 to 3.1
  upgrades
- Move upgrade playbooks to common/openshift/cluster/upgrades from adhoc
- Added a byo wrapper playbooks to set the groups based on the byo
  conventions, other providers will need similar playbooks added eventually
- installer wrapper updates for refactored upgrade playbooks
  - call new 3.0 to 3.1 upgrade playbook
  - various fixes for edge cases I hit with a really old config laying
    around.
  - fix output of host facts to show connect_to value.
---
 utils/src/ooinstall/cli_installer.py     | 5 +++--
 utils/src/ooinstall/oo_config.py         | 8 +++++---
 utils/src/ooinstall/openshift_ansible.py | 4 +++-
 3 files changed, 11 insertions(+), 6 deletions(-)

(limited to 'utils')

diff --git a/utils/src/ooinstall/cli_installer.py b/utils/src/ooinstall/cli_installer.py
index 4c55002fb..6cdc19f20 100644
--- a/utils/src/ooinstall/cli_installer.py
+++ b/utils/src/ooinstall/cli_installer.py
@@ -177,7 +177,8 @@ Notes:
                                              h.public_ip,
                                              h.hostname,
                                              h.public_hostname]))
-        output = "%s\n%s" % (output, ",".join([h.ip,
+        output = "%s\n%s" % (output, ",".join([h.connect_to,
+                             h.ip,
                              h.public_ip,
                              h.hostname,
                              h.public_hostname]))
@@ -493,7 +494,7 @@ def upgrade(ctx):
     verbose = ctx.obj['verbose']
 
     if len(oo_cfg.hosts) == 0:
-        click.echo("No hosts defined in: %s" % oo_cfg['configuration'])
+        click.echo("No hosts defined in: %s" % oo_cfg.config_path)
         sys.exit(1)
 
     # Update config to reflect the version we're targetting, we'll write
diff --git a/utils/src/ooinstall/oo_config.py b/utils/src/ooinstall/oo_config.py
index cf51bb404..9c97e6e93 100644
--- a/utils/src/ooinstall/oo_config.py
+++ b/utils/src/ooinstall/oo_config.py
@@ -116,6 +116,9 @@ class OOConfig(object):
 
     def _upgrade_legacy_config(self):
         new_hosts = []
+        remove_settings = ['validated_facts', 'Description', 'Name',
+            'Subscription', 'Vendor', 'Version', 'masters', 'nodes']
+
         if 'validated_facts' in self.settings:
             for key, value in self.settings['validated_facts'].iteritems():
                 value['connect_to'] = key
@@ -126,10 +129,9 @@ class OOConfig(object):
                 new_hosts.append(value)
         self.settings['hosts'] = new_hosts
 
-        remove_settings = ['validated_facts', 'Description', 'Name',
-            'Subscription', 'Vendor', 'Version', 'masters', 'nodes']
         for s in remove_settings:
-            del self.settings[s]
+            if s in self.settings:
+                del self.settings[s]
 
         # A legacy config implies openshift-enterprise 3.0:
         self.settings['variant'] = 'openshift-enterprise'
diff --git a/utils/src/ooinstall/openshift_ansible.py b/utils/src/ooinstall/openshift_ansible.py
index 489a0f7c1..e4c808e85 100644
--- a/utils/src/ooinstall/openshift_ansible.py
+++ b/utils/src/ooinstall/openshift_ansible.py
@@ -164,8 +164,10 @@ def run_uninstall_playbook(verbose=False):
 
 
 def run_upgrade_playbook(verbose=False):
+    # TODO: do not hardcode the upgrade playbook, add ability to select the
+    # right playbook depending on the type of upgrade.
     playbook = os.path.join(CFG.settings['ansible_playbook_directory'],
-        'playbooks/adhoc/upgrades/upgrade.yml')
+        'playbooks/byo/openshift-cluster/upgrades/v3_0_to_v3_1/upgrade.yml')
     # TODO: Upgrade inventory for upgrade?
     inventory_file = generate_inventory(CFG.hosts)
     facts_env = os.environ.copy()
-- 
cgit v1.2.3