]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
Check ceph_health_raw.stdout value as string during mon bootstrap v4.0.0rc2
authorfpantano <fpantano@redhat.com>
Wed, 3 Apr 2019 16:35:10 +0000 (18:35 +0200)
committerGuillaume Abrioux <gabrioux@redhat.com>
Thu, 4 Apr 2019 17:15:55 +0000 (19:15 +0200)
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>
(cherry picked from commit afbb90e4acb6e0bacddf52bb512bef74b013fa68)

roles/ceph-mon/tasks/ceph_keys.yml

index 84ff977730e4a7d3cc938ff75135bb51a6da9d7f..414470ccaf181ed9a045f9565cc55cc4c00abde2 100644 (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