فهرست منبع

First cut at checking available disk space for etcd backup.

Devan Goodwin 9 سال پیش
والد
کامیت
3d7c5c6fd5

+ 26 - 1
playbooks/adhoc/upgrades/upgrade.yml

@@ -1,5 +1,5 @@
 ---
-- name: Verify deployment type
+- name: Verify upgrade can proceed
   hosts: masters
   tasks:
   # Checking the global deployment type rather than host facts, this is about
@@ -7,6 +7,31 @@
     - fail: msg="Deployment type enterprise not supported for upgrade"
       when: deployment_type == "enterprise"
 
+- name: Backup etcd
+  hosts: masters
+  vars:
+    embedded_etcd: "{{ openshift.master.embedded_etcd }}"
+  roles:
+  - openshift_facts
+  tasks:
+  - name: display all variables set for the current host
+    debug:
+      var: hostvars[inventory_hostname]
+  - debug: var=embedded_etcd
+  - name: Check available data dir disk space
+    shell: >
+      df --output=avail -k {{ openshift.common.data_dir }} | tail -n 1
+    register: avail_disk
+    when: embedded_etcd | bool
+  - debug: var=avail_disk.stdout
+  - name: Check current etcd disk usage
+    shell: >
+      df --output=avail -k /var/lib/openshift/openshift.local.etcd/ | tail -n 1
+    register: etc_disk_usage
+    when: embedded_etcd | bool
+  - debug: var=etc_disk_usage.stdout
+  - fail: msg="All done for now."
+
 - name: Re-Run cluster configuration to apply latest configuration changes
   include: ../../common/openshift-cluster/config.yml
   vars:

+ 14 - 1
utils/src/ooinstall/cli_installer.py

@@ -191,7 +191,7 @@ Notes:
     facts_confirmed = click.confirm("Do the above facts look correct?")
     if not facts_confirmed:
         message = """
-Edit %s with the desired values and rerun oo-install with --unattended .
+Edit %s with the desired values and re-run with --unattended .
 """ % oo_cfg.config_path
         click.echo(message)
         # Make sure we actually write out the config file.
@@ -477,6 +477,19 @@ def upgrade(ctx):
         if not proceed:
             click.echo("Upgrade cancelled.")
             sys.exit(0)
+
+    # Update config to reflect the version we're targetting, we'll write
+    # to disk once ansible completes successfully, not before.
+    old_variant = oo_cfg.settings['variant']
+    old_version = oo_cfg.settings['variant_version']
+    if oo_cfg.settings['variant'] == 'enterprise':
+        oo_cfg.settings['variant'] = 'openshift-enterprise'
+    variant, version = find_variant(oo_cfg.settings['variant'])
+    oo_cfg.settings['variant_version'] = version.name
+    click.echo("Upgrading from %s %s to %s %s" % (
+        old_variant, old_version, oo_cfg.settings['variant'],
+        oo_cfg.settings['variant_version']))
+
     install_transactions.run_upgrade_playbook()
 
 

+ 0 - 1
utils/src/ooinstall/install_transactions.py

@@ -14,7 +14,6 @@ def set_config(cfg):
     CFG = cfg
 
 def generate_inventory(hosts):
-    print hosts
     global CFG
     base_inventory_path = CFG.settings['ansible_inventory_path']
     base_inventory = open(base_inventory_path, 'w')

+ 4 - 1
utils/src/ooinstall/variants.py

@@ -29,6 +29,9 @@ class Variant(object):
 
         self.versions = versions
 
+    def latest_version(self):
+        return self.versions[-1]
+
 
 # WARNING: Keep the versions ordered, most recent last:
 OSE = Variant('openshift-enterprise', 'OpenShift Enterprise',
@@ -58,7 +61,7 @@ def find_variant(name, version=None):
     for prod in SUPPORTED_VARIANTS:
         if prod.name == name:
             if version is None:
-                return (prod, prod.versions[-1])
+                return (prod, prod.latest_version())
             for v in prod.versions:
                 if v.name == version:
                     return (prod, v)