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
This commit is contained in:
Jesse Pretorius
2017-08-11 09:04:39 +01:00
committed by Jesse Pretorius (odyssey4me)
parent 922dec35b9
commit 3ebde68b53
2 changed files with 56 additions and 51 deletions

View File

@@ -14,35 +14,38 @@
# limitations under the License. # limitations under the License.
- name: Add galera apt-keys - name: Add galera apt-keys
apt_key: block:
id: "{{ item.hash_id }}" - name: Add keys (primary keyserver)
keyserver: "{{ item.keyserver | default(omit) }}" apt_key:
data: "{{ item.data | default(omit) }}" id: "{{ item.hash_id }}"
url: "{{ item.url | default(omit) }}" keyserver: "{{ item.keyserver | default(omit) }}"
state: "present" data: "{{ item.data | default(omit) }}"
register: add_keys url: "{{ item.url | default(omit) }}"
until: add_keys|success state: "present"
failed_when: false register: add_keys
retries: 5 until: add_keys|success
delay: 2 retries: 5
with_items: "{{ galera_gpg_keys }}" delay: 2
tags: with_items: "{{ galera_gpg_keys }}"
- galera-apt-keys tags:
- galera-apt-keys
- name: Add galera apt-keys using fallback keyserver rescue:
apt_key: - name: Add keys (fallback keyserver)
id: "{{ item.hash_id }}" apt_key:
keyserver: "{{ item.fallback_keyserver | default(omit) }}" id: "{{ item.hash_id }}"
url: "{{ item.fallback_url | default(omit) }}" keyserver: "{{ item.fallback_keyserver | default(omit) }}"
state: "present" url: "{{ item.fallback_url | default(omit) }}"
register: add_keys_fallback state: "present"
until: add_keys_fallback|success register: add_keys_fallback
retries: 5 until: add_keys_fallback|success
delay: 2 retries: 5
with_items: "{{ galera_gpg_keys }}" delay: 2
when: add_keys|failed and (item.fallback_keyserver is defined or item.fallback_url is defined) with_items: "{{ galera_gpg_keys }}"
tags: when:
- galera-apt-keys - item.fallback_keyserver is defined or item.fallback_url is defined
tags:
- galera-apt-keys
- name: Remove old repos - name: Remove old repos
lineinfile: lineinfile:

View File

@@ -27,30 +27,32 @@
- { src: "/etc/mysql/my.cnf", path: "/etc/my.cnf", state: "link", force: true } - { src: "/etc/mysql/my.cnf", path: "/etc/my.cnf", state: "link", force: true }
- name: Add galera gpg-keys - name: Add galera gpg-keys
rpm_key: block:
state: present - name: Add keys (primary keyserver)
key: "{{ item.keyserver }}/{{ item.key_name }}" rpm_key:
register: add_keys state: present
until: add_keys|success key: "{{ item.keyserver }}/{{ item.key_name }}"
failed_when: false register: add_keys
retries: 5 until: add_keys|success
delay: 2 retries: 5
with_items: "{{ galera_gpg_keys }}" delay: 2
tags: with_items: "{{ galera_gpg_keys }}"
- galera-gpg-keys tags:
- galera-gpg-keys
- name: Add galera gpg-keys using fallback keyserver rescue:
rpm_key: - name: Add keys (fallback keyserver)
state: present rpm_key:
key: "{{ item.fallback_keyserver }}/{{ item.key_name }}" state: present
register: add_keys key: "{{ item.fallback_keyserver }}/{{ item.key_name }}"
until: add_keys|success register: add_keys
retries: 5 until: add_keys|success
delay: 2 retries: 5
with_items: "{{ galera_gpg_keys }}" delay: 2
when: add_keys|failed and (item.fallback_keyserver is defined) with_items: "{{ galera_gpg_keys }}"
tags: when: item.fallback_keyserver is defined
- galera-gpg-keys tags:
- galera-gpg-keys
- name: Add galera repo - name: Add galera repo
yum_repository: yum_repository: