From f8cbc27a83b95124202fb4264fa13e7f4bbb67c1 Mon Sep 17 00:00:00 2001 From: fpantano Date: Wed, 3 Apr 2019 18:35:10 +0200 Subject: [PATCH] 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 (cherry picked from commit afbb90e4acb6e0bacddf52bb512bef74b013fa68) --- roles/ceph-mon/tasks/ceph_keys.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/ceph-mon/tasks/ceph_keys.yml b/roles/ceph-mon/tasks/ceph_keys.yml index 84ff97773..414470cca 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