mirror of https://github.com/ceph/ceph-ansible.git
update: nicer way to wait for clean pgs
More comprhensive and friendly to read. Signed-off-by: Sébastien Han <seb@redhat.com>pull/1958/head
parent
0010979412
commit
68f1f99ee9
|
@ -273,46 +273,31 @@
|
|||
- ansible_service_mgr == 'systemd'
|
||||
- containerized_deployment
|
||||
|
||||
- name: get pg num
|
||||
shell: |
|
||||
ceph --cluster {{ cluster }} -s -f json | python -c 'import sys, json; print(json.load(sys.stdin)["pgmap"]["num_pgs"])'
|
||||
delegate_to: "{{ groups[mon_group_name][0] }}"
|
||||
register: num_pgs
|
||||
when:
|
||||
- not containerized_deployment
|
||||
|
||||
- name: waiting for clean pgs...
|
||||
shell: |
|
||||
test "[""$(ceph --cluster {{ cluster }} -s -f json | python -c 'import sys, json; print(json.load(sys.stdin)["pgmap"]["num_pgs"])')""]" = "$(ceph --cluster {{ cluster }} -s -f json | python -c 'import sys, json; print [ i["count"] for i in json.load(sys.stdin)["pgmap"]["pgs_by_state"] if i["state_name"] == "active+clean"]')"
|
||||
register: result
|
||||
until: result.rc == 0
|
||||
command: ceph --cluster "{{ cluster }}" -s --format json
|
||||
register: ceph_health_post
|
||||
until: >
|
||||
((ceph_health_post.stdout | from_json).pgmap.pgs_by_state | length) == 1
|
||||
and
|
||||
(ceph_health_post.stdout | from_json).pgmap.pgs_by_state.0.state_name == "active+clean"
|
||||
delegate_to: "{{ groups[mon_group_name][0] }}"
|
||||
retries: "{{ health_osd_check_retries }}"
|
||||
delay: "{{ health_osd_check_delay }}"
|
||||
delegate_to: "{{ groups[mon_group_name][0] }}"
|
||||
when:
|
||||
- not containerized_deployment
|
||||
- num_pgs.stdout != "0"
|
||||
|
||||
- name: container - get pg num
|
||||
shell: |
|
||||
docker exec ceph-mon-{{ hostvars[groups[mon_group_name][0]]['ansible_hostname'] }} ceph --cluster {{ cluster }} -s -f json | python -c 'import sys, json; print(json.load(sys.stdin)["pgmap"]["num_pgs"])'
|
||||
delegate_to: "{{ groups[mon_group_name][0] }}"
|
||||
register: container_num_pgs
|
||||
when:
|
||||
- containerized_deployment
|
||||
|
||||
- name: container - waiting for clean pgs...
|
||||
shell: |
|
||||
test "[""$(docker exec ceph-mon-{{ hostvars[groups[mon_group_name][0]]['ansible_hostname'] }} ceph --cluster {{ cluster }} -s -f json | python -c 'import sys, json; print(json.load(sys.stdin)["pgmap"]["num_pgs"])')""]" = "$(docker exec ceph-mon-{{ hostvars[groups[mon_group_name][0]]['ansible_hostname'] }} ceph --cluster {{ cluster }} -s -f json | python -c 'import sys, json; print [ i["count"] for i in json.load(sys.stdin)["pgmap"]["pgs_by_state"] if i["state_name"] == "active+clean"]')"
|
||||
register: result
|
||||
until: result.rc == 0
|
||||
command: "docker exec ceph-mon-{{ hostvars[groups[mon_group_name][0]]['ansible_hostname'] }} ceph --cluster "{{ cluster }}" -s --format json"
|
||||
register: ceph_health_post
|
||||
until: >
|
||||
((ceph_health_post.stdout | from_json).pgmap.pgs_by_state | length) == 1
|
||||
and
|
||||
(ceph_health_post.stdout | from_json).pgmap.pgs_by_state.0.state_name == "active+clean"
|
||||
delegate_to: "{{ groups[mon_group_name][0] }}"
|
||||
retries: "{{ health_osd_check_retries }}"
|
||||
delay: "{{ health_osd_check_delay }}"
|
||||
delegate_to: "{{ groups[mon_group_name][0] }}"
|
||||
when:
|
||||
- containerized_deployment
|
||||
- container_num_pgs.stdout != "0"
|
||||
|
||||
- not containerized_deployment
|
||||
|
||||
- name: unset osd flags
|
||||
|
||||
|
|
Loading…
Reference in New Issue