From 3ebde68b537e1e0d7e408e13a13f00c0a2da783c Mon Sep 17 00:00:00 2001 From: Jesse Pretorius Date: Fri, 11 Aug 2017 09:04:39 +0100 Subject: [PATCH] Use block/rescue for error handling Instead of allowing the first task to fail, then using the fallback - use block/rescue to achieve the same, but totally skip the second task if the first succeeds. Change-Id: Ida644fee4f9842a45bf273db379b00df12bec695 --- tasks/galera_install_apt.yml | 59 +++++++++++++++++++----------------- tasks/galera_install_yum.yml | 48 +++++++++++++++-------------- 2 files changed, 56 insertions(+), 51 deletions(-) diff --git a/tasks/galera_install_apt.yml b/tasks/galera_install_apt.yml index 145f120b..4d65da77 100644 --- a/tasks/galera_install_apt.yml +++ b/tasks/galera_install_apt.yml @@ -14,35 +14,38 @@ # limitations under the License. - name: Add galera apt-keys - apt_key: - id: "{{ item.hash_id }}" - keyserver: "{{ item.keyserver | default(omit) }}" - data: "{{ item.data | default(omit) }}" - url: "{{ item.url | default(omit) }}" - state: "present" - register: add_keys - until: add_keys|success - failed_when: false - retries: 5 - delay: 2 - with_items: "{{ galera_gpg_keys }}" - tags: - - galera-apt-keys + block: + - name: Add keys (primary keyserver) + apt_key: + id: "{{ item.hash_id }}" + keyserver: "{{ item.keyserver | default(omit) }}" + data: "{{ item.data | default(omit) }}" + url: "{{ item.url | default(omit) }}" + state: "present" + register: add_keys + until: add_keys|success + retries: 5 + delay: 2 + with_items: "{{ galera_gpg_keys }}" + tags: + - galera-apt-keys -- name: Add galera apt-keys using fallback keyserver - apt_key: - id: "{{ item.hash_id }}" - keyserver: "{{ item.fallback_keyserver | default(omit) }}" - url: "{{ item.fallback_url | default(omit) }}" - state: "present" - register: add_keys_fallback - until: add_keys_fallback|success - retries: 5 - delay: 2 - with_items: "{{ galera_gpg_keys }}" - when: add_keys|failed and (item.fallback_keyserver is defined or item.fallback_url is defined) - tags: - - galera-apt-keys + rescue: + - name: Add keys (fallback keyserver) + apt_key: + id: "{{ item.hash_id }}" + keyserver: "{{ item.fallback_keyserver | default(omit) }}" + url: "{{ item.fallback_url | default(omit) }}" + state: "present" + register: add_keys_fallback + until: add_keys_fallback|success + retries: 5 + delay: 2 + with_items: "{{ galera_gpg_keys }}" + when: + - item.fallback_keyserver is defined or item.fallback_url is defined + tags: + - galera-apt-keys - name: Remove old repos lineinfile: diff --git a/tasks/galera_install_yum.yml b/tasks/galera_install_yum.yml index 9bf4567f..8644c389 100644 --- a/tasks/galera_install_yum.yml +++ b/tasks/galera_install_yum.yml @@ -27,30 +27,32 @@ - { src: "/etc/mysql/my.cnf", path: "/etc/my.cnf", state: "link", force: true } - name: Add galera gpg-keys - rpm_key: - state: present - key: "{{ item.keyserver }}/{{ item.key_name }}" - register: add_keys - until: add_keys|success - failed_when: false - retries: 5 - delay: 2 - with_items: "{{ galera_gpg_keys }}" - tags: - - galera-gpg-keys + block: + - name: Add keys (primary keyserver) + rpm_key: + state: present + key: "{{ item.keyserver }}/{{ item.key_name }}" + register: add_keys + until: add_keys|success + retries: 5 + delay: 2 + with_items: "{{ galera_gpg_keys }}" + tags: + - galera-gpg-keys -- name: Add galera gpg-keys using fallback keyserver - rpm_key: - state: present - key: "{{ item.fallback_keyserver }}/{{ item.key_name }}" - register: add_keys - until: add_keys|success - retries: 5 - delay: 2 - with_items: "{{ galera_gpg_keys }}" - when: add_keys|failed and (item.fallback_keyserver is defined) - tags: - - galera-gpg-keys + rescue: + - name: Add keys (fallback keyserver) + rpm_key: + state: present + key: "{{ item.fallback_keyserver }}/{{ item.key_name }}" + register: add_keys + until: add_keys|success + retries: 5 + delay: 2 + with_items: "{{ galera_gpg_keys }}" + when: item.fallback_keyserver is defined + tags: + - galera-gpg-keys - name: Add galera repo yum_repository: