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 <gabrioux@redhat.com>
pull/1872/head
Guillaume Abrioux 2017-09-18 19:04:05 +02:00
parent 6c9f3a08a7
commit 295c1b0610
2 changed files with 11 additions and 9 deletions

View File

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

View File

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