From: Guillaume Abrioux Date: Mon, 18 Sep 2017 17:04:05 +0000 (+0200) Subject: docker-common: fix ceph_health check X-Git-Tag: v3.0.0rc11~11^2~4 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=295c1b0610be6056c3038d768a4a0afa43ed1294;p=ceph-ansible.git docker-common: fix ceph_health check `docker ps` will always return `0` (see: https://github.com/docker/cli/issues/538). Signed-off-by: Guillaume Abrioux --- diff --git a/roles/ceph-docker-common/tasks/checks.yml b/roles/ceph-docker-common/tasks/checks.yml index bd37f414d..f96d90635 100644 --- a/roles/ceph-docker-common/tasks/checks.yml +++ b/roles/ceph-docker-common/tasks/checks.yml @@ -9,4 +9,6 @@ - "{{ ceph_config_keys }}" - "{{ statconfig.results }}" when: + - inventory_hostname == groups.get(mon_group_name) - item.1.stat.exists == true + - ceph_health.stdout_lines | length == 0 diff --git a/roles/ceph-docker-common/tasks/main.yml b/roles/ceph-docker-common/tasks/main.yml index f70c8e752..34a35acfe 100644 --- a/roles/ceph-docker-common/tasks/main.yml +++ b/roles/ceph-docker-common/tasks/main.yml @@ -40,19 +40,19 @@ set_fact: docker_version: "{{ docker_version.stdout.split(' ')[2] }}" -- name: check if a cluster is already running - command: "docker ps -q -a --filter='ancestor={{ ceph_docker_image }}:{{ ceph_docker_image_tag }}'" - register: ceph_health - changed_when: false - failed_when: false - always_run: true - # Only include 'checks.yml' when : # we are deploying containers without kv AND host is either a mon OR a nfs OR an osd, # AND # a cluster is not already running, # AND # we are not playing rolling-update.yml playbook. +- name: check if a cluster is already running + command: "docker ps -q --filter=\'name=ceph-mon-{{ ansible_hostname }}\'" + register: ceph_health + changed_when: false + failed_when: false + always_run: true + - name: include checks.yml include: checks.yml when: @@ -60,8 +60,8 @@ ((inventory_hostname in groups.get(mon_group_name, [])) or (inventory_hostname in groups.get(nfs_group_name, [])) or (inventory_hostname in groups.get(osd_group_name, [])))) - - ceph_health.rc != 0 - - not "{{ rolling_update | default(false) }}" + - ceph_health.stdout_lines | length == 0 + - not rolling_update | default(false) - name: include misc/ntp_atomic.yml include: misc/ntp_atomic.yml