Skip to content

Commit

Permalink
Use block/rescue for error handling
Browse files Browse the repository at this point in the history
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: Icb4ce1901a5a4c2b870b308f7cd6444b304a022a
  • Loading branch information
Jesse Pretorius authored and cloudnull committed Aug 11, 2017
1 parent d490627 commit e9c9e37
Showing 1 changed file with 31 additions and 30 deletions.
61 changes: 31 additions & 30 deletions tasks/ceph_preinstall_apt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,44 +23,45 @@
- ceph_pkg_source == 'ceph'

- name: Add ceph 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: "{{ ceph_gpg_keys }}"
when:
- ceph_pkg_source == 'ceph'
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: "{{ ceph_gpg_keys }}"
when:
- ceph_pkg_source == 'ceph'

- name: Add ceph 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: "{{ ceph_gpg_keys }}"
when:
- ceph_pkg_source | lower == 'ceph'
- add_keys | failed
- item.fallback_keyserver is defined or item.fallback_url is defined
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: "{{ ceph_gpg_keys }}"
when:
- ceph_pkg_source == 'ceph'
- item.fallback_keyserver is defined or item.fallback_url is defined

- name: add ubuntu cloud archive key package
apt:
pkg: ubuntu-cloud-keyring
state: "{{ ceph_client_package_state }}"
register: add_keys
when:
- ceph_pkg_source | lower == 'uca'
- ceph_pkg_source == 'uca'

- name: Add ceph repo(s)
apt_repository:
Expand Down

0 comments on commit e9c9e37

Please sign in to comment.