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 <fpantano@redhat.com>
pull/3784/head
fpantano 2019-04-03 18:35:10 +02:00 committed by mergify[bot]
parent 1ecb3a9352
commit afbb90e4ac
1 changed files with 1 additions and 1 deletions

View File

@ -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