summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--playbooks/adhoc/upgrades/upgrade.yml27
-rwxr-xr-xroles/openshift_facts/library/openshift_facts.py6
2 files changed, 20 insertions, 13 deletions
diff --git a/playbooks/adhoc/upgrades/upgrade.yml b/playbooks/adhoc/upgrades/upgrade.yml
index ec0eca66c..948a320a2 100644
--- a/playbooks/adhoc/upgrades/upgrade.yml
+++ b/playbooks/adhoc/upgrades/upgrade.yml
@@ -14,25 +14,26 @@
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
+ - debug: var=etcd_data_dir
+ - name: Check available disk space for etcd backup
+ # We assume to be using the data dir for all backups.
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
+
+ - name: Check current embedded etcd disk usage
shell: >
- du -k {{ openshift.common.data_dir }}/openshift.local.etcd | tail -n 1 | cut -f1
- register: etc_disk_usage
+ du -k {{ openshift.master.etcd_data_dir }} | tail -n 1 | cut -f1
+ register: etcd_disk_usage
when: embedded_etcd | bool
- - debug: var=etc_disk_usage.stdout
+
- name: Abort if insufficient disk space for etcd backup
- fail: msg="{{ etc_disk_usage.stdout }} Kb disk space required for etcd backup, {{ avail_disk.stdout }} Kb available."
- when: (embedded_etcd | bool) and (etc_disk_usage.stdout|int > avail_disk.stdout|int)
+ fail: msg="{{ etcd_disk_usage.stdout }} Kb disk space required for etcd backup, {{ avail_disk.stdout }} Kb available."
+ when: (embedded_etcd | bool) and (etcd_disk_usage.stdout|int > avail_disk.stdout|int)
+ - name: Install etcd (for etcdctl)
+ yum: pkg=etcd state=latest
+ - name: Generate etcd backup
+ command: etcdctl backup
- fail: msg="All done for now."
- name: Re-Run cluster configuration to apply latest configuration changes
diff --git a/roles/openshift_facts/library/openshift_facts.py b/roles/openshift_facts/library/openshift_facts.py
index 3570de693..44f8cbb31 100755
--- a/roles/openshift_facts/library/openshift_facts.py
+++ b/roles/openshift_facts/library/openshift_facts.py
@@ -465,6 +465,12 @@ def set_aggregate_facts(facts):
if 'cluster_public_hostname' in facts['master']:
all_hostnames.add(facts['master']['cluster_public_hostname'])
+ if facts['master']['embedded_etcd']:
+ facts['master']['etcd_data_dir'] = os.path.join(
+ facts['common']['data_dir'], 'openshift.local.etcd')
+ else:
+ facts['master']['etcd_data_dir'] = '/var/lib/etcd'
+
facts['common']['all_hostnames'] = list(all_hostnames)
return facts