]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
infra: use the pg check in the right place
authorSébastien Han <seb@redhat.com>
Sun, 8 Oct 2017 12:45:48 +0000 (14:45 +0200)
committerSébastien Han <seb@redhat.com>
Mon, 9 Oct 2017 15:25:41 +0000 (17:25 +0200)
Use the pg check before doing the pg check, not on the quorum check.
Also never quote int when doing comparaison.

Signed-off-by: Sébastien Han <seb@redhat.com>
infrastructure-playbooks/rolling_update.yml
infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml

index 6690108dbdc643d67b0f07781157a3343e527ba1..5206f4d573c7e414a3b153d242ced8dc51e9cd5e 100644 (file)
       when:
         - mon_host_count | int == 1
 
-    - name: get num_pgs - non container
-      command: ceph --cluster "{{ cluster }}" -s --format json
-      register: ceph_pgs
-      delegate_to: "{{ mon_host }}"
-      when:
-        - not containerized_deployment
-
-    - name: get num_pgs - container
-      command: docker exec ceph-mon-{{ hostvars[mon_host]['ansible_hostname'] }} ceph --cluster "{{ cluster }}" -s --format json
-      register: ceph_pgs
-      delegate_to: "{{ mon_host }}"
-      when:
-        - containerized_deployment
-
     - name: non container | waiting for the monitor to join the quorum...
       command: ceph --cluster "{{ cluster }}" -s --format json
       register: ceph_health_raw
       delegate_to: "{{ mon_host }}"
       when:
         - not containerized_deployment
-        - (ceph_pgs.stdout | from_json).pgmap.num_pgs != "0"
 
     - name: container | waiting for the containerized monitor to join the quorum...
       command: docker exec ceph-mon-{{ hostvars[mon_host]['ansible_hostname'] }} ceph --cluster "{{ cluster }}" -s --format json
       delegate_to: "{{ mon_host }}"
       when:
         - containerized_deployment
-        - (ceph_pgs.stdout | from_json).pgmap.num_pgs != "0"
 
     - name: set osd flags
       command: ceph osd set {{ item }} --cluster {{ cluster }}
         - ansible_service_mgr == 'systemd'
         - containerized_deployment
 
-    - name: waiting for clean pgs...
-      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 }}"
+    - name: set_fact docker_exec_cmd_osd
+      set_fact:
+        docker_exec_cmd_update_osd: "docker exec ceph-mon-{{ hostvars[groups[mon_group_name][0]]['ansible_hostname'] }}"
       when:
-        - not containerized_deployment
+        - containerized_deployment
+
+    - name: get num_pgs - non container
+      command: "{{ docker_exec_cmd_update_osd|default('') }} ceph --cluster {{ cluster }} -s --format json"
+      register: ceph_pgs
+      delegate_to: "{{ groups[mon_group_name][0] }}"
 
-    - name: container - waiting for clean pgs...
-      command: "docker exec ceph-mon-{{ hostvars[groups[mon_group_name][0]]['ansible_hostname'] }} ceph --cluster {{ cluster }} -s --format json"
+    - name: waiting for clean pgs...
+      command: "{{ docker_exec_cmd_update_osd|default('') }} ceph --cluster {{ cluster }} -s --format json"
       register: ceph_health_post
       until: >
         ((ceph_health_post.stdout | from_json).pgmap.pgs_by_state | length) == 1
       retries: "{{ health_osd_check_retries }}"
       delay: "{{ health_osd_check_delay }}"
       when:
-        - containerized_deployment
+        - (ceph_pgs.stdout | from_json).pgmap.num_pgs != 0
+
 
 - name: unset osd flags
 
index 54a81e1ed3db0ab28fda71d52c81fd9767c90371..a11034e463f3e436433eadc12694bf287861df13 100644 (file)
       retries: "{{ health_osd_check_retries }}"
       delay: "{{ health_osd_check_delay }}"
       when:
-        - (ceph_pgs.stdout | from_json).pgmap.num_pgs != "0"
+        - (ceph_pgs.stdout | from_json).pgmap.num_pgs != 0
 
 
 - name: switching from non-containerized to containerized ceph mds