summaryrefslogtreecommitdiffstats
path: root/playbooks/common/openshift-cluster/upgrades/etcd/main.yml
diff options
context:
space:
mode:
authorScott Dodson <sdodson@redhat.com>2016-11-14 14:18:37 -0500
committerScott Dodson <sdodson@redhat.com>2016-11-14 14:18:37 -0500
commit7dae2f94927b88ab96a6f447e1595a6f2ef88b9b (patch)
treef3c557ac88cc6de89f6c5fab5b3c456ff5b5e005 /playbooks/common/openshift-cluster/upgrades/etcd/main.yml
parentce4034672fa8f2371b8bbf52ff04747583b4edda (diff)
downloadopenshift-7dae2f94927b88ab96a6f447e1595a6f2ef88b9b.tar.gz
openshift-7dae2f94927b88ab96a6f447e1595a6f2ef88b9b.tar.bz2
openshift-7dae2f94927b88ab96a6f447e1595a6f2ef88b9b.tar.xz
openshift-7dae2f94927b88ab96a6f447e1595a6f2ef88b9b.zip
Make etcd containerized upgrade stepwise
Diffstat (limited to 'playbooks/common/openshift-cluster/upgrades/etcd/main.yml')
-rw-r--r--playbooks/common/openshift-cluster/upgrades/etcd/main.yml45
1 files changed, 35 insertions, 10 deletions
diff --git a/playbooks/common/openshift-cluster/upgrades/etcd/main.yml b/playbooks/common/openshift-cluster/upgrades/etcd/main.yml
index 22af9e7e2..cce844403 100644
--- a/playbooks/common/openshift-cluster/upgrades/etcd/main.yml
+++ b/playbooks/common/openshift-cluster/upgrades/etcd/main.yml
@@ -33,11 +33,16 @@
- name: Determine etcd version
hosts: etcd_hosts_to_upgrade
tasks:
- - name: Record etcd version
+ - name: Record RPM based etcd version
command: rpm -qa --qf '%{version}' etcd\*
register: etcd_installed_version
failed_when: false
when: not openshift.common.is_containerized | bool
+ - name: Record containerized etcd version
+ command: docker exec etcd_container rpm -qa --qf '%{version}' etcd\*
+ register: etcd_installed_version
+ failed_when: false
+ when: openshift.common.is_containerized | bool
# I really dislike this copy/pasta but I wasn't able to find a way to get it to loop
# through hosts, then loop through tasks only when appropriate
@@ -50,7 +55,7 @@
- include: rhel_tasks.yml
when: etcd_installed_version.stdout | default('99') | version_compare('2.1','<') and ansible_distribution == 'RedHat' and not openshift.common.is_containerized | bool
-- name: Upgrade to 2.2
+- name: Upgrade RPM hosts to 2.2
hosts: etcd_hosts_to_upgrade
serial: 1
vars:
@@ -59,7 +64,16 @@
- include: rhel_tasks.yml
when: etcd_installed_version.stdout | default('99') | version_compare('2.2','<') and ansible_distribution == 'RedHat' and not openshift.common.is_containerized | bool
-- name: Upgrade to 2.3
+- name: Upgrade containerized hosts to 2.2.5
+ hosts: etcd_hosts_to_upgrade
+ serial: 1
+ vars:
+ upgrade_version: 2.2.5
+ tasks:
+ - include: containerized_tasks.yml
+ when: etcd_installed_version.stdout | default('99') | version_compare('2.2','<') and openshift.common.is_containerized | bool
+
+- name: Upgrade RPM hosts to 2.3
hosts: etcd_hosts_to_upgrade
serial: 1
vars:
@@ -68,7 +82,16 @@
- include: rhel_tasks.yml
when: etcd_installed_version.stdout | default('99') | version_compare('2.3','<') and ansible_distribution == 'RedHat' and not openshift.common.is_containerized | bool
-- name: Upgrade to 3.0
+- name: Upgrade containerized hosts to 2.3.7
+ hosts: etcd_hosts_to_upgrade
+ serial: 1
+ vars:
+ upgrade_version: 2.3.7
+ tasks:
+ - include: containerized_tasks.yml
+ when: etcd_installed_version.stdout | default('99') | version_compare('2.3','<') and openshift.common.is_containerized | bool
+
+- name: Upgrade RPM hosts to 3.0
hosts: etcd_hosts_to_upgrade
serial: 1
vars:
@@ -77,19 +100,21 @@
- include: rhel_tasks.yml
when: etcd_installed_version.stdout | default('99') | version_compare('3.0','<') and ansible_distribution == 'RedHat' and not openshift.common.is_containerized | bool
-- name: Upgrade fedora to latest
+- name: Upgrade containerized hosts to etcd3 image
hosts: etcd_hosts_to_upgrade
serial: 1
+ vars:
+ upgrade_version: 3.0.3
tasks:
- - include: fedora_tasks.yml
- when: ansible_distribution == 'Fedora' and not openshift.common.is_containerized | bool
+ - include: containerized_tasks.yml
+ when: etcd_installed_version.stdout | default('99') | version_compare('3.0','<') and openshift.common.is_containerized | bool
-- name: Upgrade containerized hosts to etcd3 image
+- name: Upgrade fedora to latest
hosts: etcd_hosts_to_upgrade
serial: 1
tasks:
- - include: containerized_tasks.yml
- when: openshift.common.is_containerized | bool
+ - include: fedora_tasks.yml
+ when: ansible_distribution == 'Fedora' and not openshift.common.is_containerized | bool
- name: Backup etcd
include: backup.yml