diff options
Diffstat (limited to 'playbooks/common/openshift-cluster/upgrades/etcd')
3 files changed, 21 insertions, 20 deletions
diff --git a/playbooks/common/openshift-cluster/upgrades/etcd/backup.yml b/playbooks/common/openshift-cluster/upgrades/etcd/backup.yml index b7f0267c1..cfb273b82 100644 --- a/playbooks/common/openshift-cluster/upgrades/etcd/backup.yml +++ b/playbooks/common/openshift-cluster/upgrades/etcd/backup.yml @@ -41,9 +41,11 @@ {{ avail_disk.stdout }} Kb available. when: (embedded_etcd | bool) and (etcd_disk_usage.stdout|int > avail_disk.stdout|int) - - name: Install etcd (for etcdctl) - package: name=etcd state=present - when: not openshift.common.is_atomic | bool + # for non containerized etcd is already installed, don't touch it, but for containerized + # but not atomic always get the latest + - name: Install latest text for containerized but not atomic + package: name=etcd state=latest + when: not openshift.common.is_atomic | bool and openshift.common.is_containerized - name: Generate etcd backup command: > diff --git a/playbooks/common/openshift-cluster/upgrades/etcd/main.yml b/playbooks/common/openshift-cluster/upgrades/etcd/main.yml index 192799376..c67cf282f 100644 --- a/playbooks/common/openshift-cluster/upgrades/etcd/main.yml +++ b/playbooks/common/openshift-cluster/upgrades/etcd/main.yml @@ -38,12 +38,14 @@ tasks: - name: Record RPM based etcd version command: rpm -qa --qf '%{version}' etcd\* - register: etcd_installed_version + args: + warn: no + register: etcd_rpm_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 + register: etcd_container_version failed_when: false when: openshift.common.is_containerized | bool @@ -56,7 +58,7 @@ upgrade_version: '2.1' tasks: - 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 + when: etcd_rpm_version.stdout | default('99') | version_compare('2.1','<') and ansible_distribution == 'RedHat' and not openshift.common.is_containerized | bool - name: Upgrade RPM hosts to 2.2 hosts: etcd_hosts_to_upgrade @@ -65,7 +67,7 @@ upgrade_version: '2.2' tasks: - 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 + when: etcd_rpm_version.stdout | default('99') | version_compare('2.2','<') and ansible_distribution == 'RedHat' and not openshift.common.is_containerized | bool - name: Upgrade containerized hosts to 2.2.5 hosts: etcd_hosts_to_upgrade @@ -74,7 +76,7 @@ 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 + when: etcd_container_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 @@ -83,7 +85,7 @@ upgrade_version: '2.3' tasks: - 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 + when: etcd_rpm_version.stdout | default('99') | version_compare('2.3','<') and ansible_distribution == 'RedHat' and not openshift.common.is_containerized | bool - name: Upgrade containerized hosts to 2.3.7 hosts: etcd_hosts_to_upgrade @@ -92,7 +94,7 @@ 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 + when: etcd_container_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 @@ -101,16 +103,16 @@ upgrade_version: '3.0' tasks: - 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 + when: etcd_rpm_version.stdout | default('99') | version_compare('3.0','<') and ansible_distribution == 'RedHat' and not openshift.common.is_containerized | bool - name: Upgrade containerized hosts to etcd3 image hosts: etcd_hosts_to_upgrade serial: 1 vars: - upgrade_version: 3.0.3 + upgrade_version: 3.0.14 tasks: - include: containerized_tasks.yml - when: etcd_installed_version.stdout | default('99') | version_compare('3.0','<') and openshift.common.is_containerized | bool + when: etcd_container_version.stdout | default('99') | version_compare('3.0','<') and openshift.common.is_containerized | bool - name: Upgrade fedora to latest hosts: etcd_hosts_to_upgrade diff --git a/playbooks/common/openshift-cluster/upgrades/etcd/rhel_tasks.yml b/playbooks/common/openshift-cluster/upgrades/etcd/rhel_tasks.yml index 8e7dc9d9b..3a972e8ab 100644 --- a/playbooks/common/openshift-cluster/upgrades/etcd/rhel_tasks.yml +++ b/playbooks/common/openshift-cluster/upgrades/etcd/rhel_tasks.yml @@ -2,13 +2,10 @@ - name: Verify cluster is healthy pre-upgrade command: "etcdctl --cert-file /etc/etcd/peer.crt --key-file /etc/etcd/peer.key --ca-file /etc/etcd/ca.crt -C https://{{ openshift.common.hostname }}:2379 cluster-health" -- name: Update etcd package but exclude etcd3 - command: "{{ ansible_pkg_mgr }} install -y etcd-{{ upgrade_version }}\\* --exclude etcd3" - when: upgrade_version | version_compare('3.0','<') - -- name: Update etcd package not excluding etcd3 - command: "{{ ansible_pkg_mgr }} install -y etcd3-{{ upgrade_version }}\\*" - when: not upgrade_version | version_compare('3.0','<') +- name: Update etcd RPM + package: + name: etcd-{{ upgrade_version }}* + state: latest - name: Restart etcd service: |