From: fpantano Date: Wed, 3 Apr 2019 16:35:10 +0000 (+0200) Subject: Check ceph_health_raw.stdout value as string during mon bootstrap X-Git-Tag: v5.0.0alpha1~446 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=afbb90e4acb6e0bacddf52bb512bef74b013fa68;p=ceph-ansible.git Check ceph_health_raw.stdout value as string during mon bootstrap According to rdo testing https://review.rdoproject.org/r/#/c/18721 a check on the output of the ceph_health value is added to allow the playbook to make several attempts (according to the retry/delay variables) when waiting the cluster quorum or when the container bootstrap is not ended. It avoids the failure of the command execution when it doesn't receive a valid json object to decode (because cluster is too slow to boostrap compared to ceph-ansible task execution). Signed-off-by: fpantano --- diff --git a/roles/ceph-mon/tasks/ceph_keys.yml b/roles/ceph-mon/tasks/ceph_keys.yml index 13006d140..4be3721c8 100644 --- a/roles/ceph-mon/tasks/ceph_keys.yml +++ b/roles/ceph-mon/tasks/ceph_keys.yml @@ -11,7 +11,7 @@ register: ceph_health_raw run_once: true until: > - (ceph_health_raw.stdout | default('{}') | from_json)['state'] in ['leader', 'peon'] + (ceph_health_raw.stdout != "") and (ceph_health_raw.stdout | default('{}') | from_json)['state'] in ['leader', 'peon'] retries: "{{ handler_health_mon_check_retries }}" delay: "{{ handler_health_mon_check_delay }}" changed_when: false