summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevan Goodwin <dgoodwin@redhat.com>2015-11-05 14:22:13 -0400
committerJason DeTiberus <jdetiber@redhat.com>2015-11-05 17:12:27 -0500
commiteb4cfd5702e675219ae0d36df667e0029b353921 (patch)
treedef2a84a3d48f6afe9f1e87d9bbf9117cebcf482
parentb65403b8ac3cd0eea46179d4758f6f0be5929728 (diff)
downloadopenshift-eb4cfd5702e675219ae0d36df667e0029b353921.tar.gz
openshift-eb4cfd5702e675219ae0d36df667e0029b353921.tar.bz2
openshift-eb4cfd5702e675219ae0d36df667e0029b353921.tar.xz
openshift-eb4cfd5702e675219ae0d36df667e0029b353921.zip
Handle backups for separate etcd hosts if necessary.
-rw-r--r--playbooks/adhoc/upgrades/upgrade.yml36
1 files changed, 27 insertions, 9 deletions
diff --git a/playbooks/adhoc/upgrades/upgrade.yml b/playbooks/adhoc/upgrades/upgrade.yml
index 7433dc9c0..d9abff040 100644
--- a/playbooks/adhoc/upgrades/upgrade.yml
+++ b/playbooks/adhoc/upgrades/upgrade.yml
@@ -1,4 +1,9 @@
---
+- name: Load master facts
+ hosts: masters
+ roles:
+ - openshift_facts
+
- name: Verify upgrade can proceed
hosts: masters[0]
gather_facts: no
@@ -8,18 +13,30 @@
- fail: msg="Deployment type enterprise not supported for upgrade"
when: deployment_type == "enterprise"
-# TODO: etcd is only guaranteed to be run on the master if embedded etcd is
-# used, we should have a task to create a new group consisting of the single
-# master running embedded etcd or an external etcd cluster specified by the
-# etcd group in the inventory (which could also be the masters)
+- name: Evaluate etcd_hosts
+ hosts: localhost
+ tasks:
+ - name: Evaluate etcd hosts
+ add_host:
+ name: "{{ groups.masters.0 }}"
+ groups: etcd_hosts
+ when: hostvars[groups.masters.0].openshift.master.embedded_etcd | bool
+ - name: Evaluate etcd hosts
+ add_host:
+ name: "{{ item }}"
+ groups: etcd_hosts
+ with_items: groups.etcd
+ when: not hostvars[groups.masters.0].openshift.master.embedded_etcd | bool
+
- name: Backup etcd
- hosts: masters
+ hosts: etcd_hosts
vars:
embedded_etcd: "{{ openshift.master.embedded_etcd }}"
timestamp: "{{ lookup('pipe', 'date +%Y%m%d%H%M%S') }}"
roles:
- openshift_facts
tasks:
+
- stat: path=/var/lib/openshift
register: var_lib_openshift
@@ -142,6 +159,7 @@
from_version: '3.0'
to_version: '3.1'
role: master
+ config_base: "{{ hostvars[inventory_hostname].openshift.common.config_base }}"
- set_fact:
master_certs_missing: True
@@ -235,8 +253,8 @@
- name: Update cluster policy and policy bindings
hosts: masters[0]
vars:
- origin_reconcile_bindings: "{{ deployment_type == 'origin' and g_new_version.stdout | version_compare('1.0.6', '>') }}"
- ent_reconcile_bindings: "{{ deployment_type in ['openshift-enterprise', 'atomic-enterprise'] and g_new_version.stdout | version_compare('3.0.2','>') }}"
+ origin_reconcile_bindings: "{{ deployment_type == 'origin' and gg_new_version.stdout | version_compare('1.0.6', '>') }}"
+ ent_reconcile_bindings: "{{ deployment_type in ['openshift-enterprise', 'atomic-enterprise'] and gg_new_version.stdout | version_compare('3.0.2','>') }}"
tasks:
- name: oadm policy reconcile-cluster-roles --confirm
command: >
@@ -264,8 +282,8 @@
- name: Upgrade default router and registry
hosts: masters[0]
vars:
- - registry_image: "{{ openshift.master.registry_url | replace( '${component}', 'docker-registry' ) | replace ( '${version}', 'v' + _new_version.stdout ) }}"
- - router_image: "{{ openshift.master.registry_url | replace( '${component}', 'haproxy-router' ) | replace ( '${version}', 'v' + _new_version.stdout ) }}"
+ - registry_image: "{{ openshift.master.registry_url | replace( '${component}', 'docker-registry' ) | replace ( '${version}', 'v' + g_new_version.stdout ) }}"
+ - router_image: "{{ openshift.master.registry_url | replace( '${component}', 'haproxy-router' ) | replace ( '${version}', 'v' + g_new_version.stdout ) }}"
- oc_cmd: "{{ openshift.common.client_binary }} --config={{ openshift.common.config_base }}/master/admin.kubeconfig"
tasks:
- name: Check for default router