]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
ceph-osd: wait for all osd before crush rules
authorDimitri Savineau <dsavinea@redhat.com>
Tue, 26 Nov 2019 16:09:11 +0000 (11:09 -0500)
committerGuillaume Abrioux <gabrioux@redhat.com>
Mon, 13 Jan 2020 15:54:01 +0000 (16:54 +0100)
When creating crush rules with device class parameter we need to be sure
that all OSDs are up and running because the device class list is
is populated with this information.
This is now enable for all scenario not openstack_config only.

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit cf8c6a384999be8caedce1121dfd57ae114d5bb6)

roles/ceph-osd/tasks/main.yml
roles/ceph-osd/tasks/openstack_config.yml

index 2344b0d4ad6cb4ab7e76bc09da46c1b7ddf15a8c..3c4554aad762e88259d1a8845b3038927f443929 100644 (file)
 - name: include_tasks start_osds.yml
   include_tasks: start_osds.yml
 
+- name: wait for all osd to be up
+  command: "{{ hostvars[groups[mon_group_name][0]]['docker_exec_cmd'] | default('') }} ceph --cluster {{ cluster }} -s -f json"
+  register: wait_for_all_osds_up
+  retries: "{{ nb_retry_wait_osd_up }}"
+  delay: "{{ delay_wait_osd_up }}"
+  changed_when: false
+  delegate_to: "{{ groups[mon_group_name][0] }}"
+  until:
+    - (wait_for_all_osds_up.stdout | from_json)["osdmap"]["osdmap"]["num_osds"] | int > 0
+    - (wait_for_all_osds_up.stdout | from_json)["osdmap"]["osdmap"]["num_osds"] == (wait_for_all_osds_up.stdout | from_json)["osdmap"]["osdmap"]["num_up_osds"]
+
 - name: include crush_rules.yml
   include_tasks: crush_rules.yml
   when:
index 150e528ed54188ee53c42ed4ee8752e5bad19ace..f8c477bc4ca1e8f00fa58a98747830173899dd0a 100644 (file)
@@ -1,15 +1,4 @@
 ---
-- name: wait for all osd to be up
-  command: "{{ hostvars[groups[mon_group_name][0]]['docker_exec_cmd'] | default('') }} ceph --cluster {{ cluster }} -s -f json"
-  register: wait_for_all_osds_up
-  retries: "{{ nb_retry_wait_osd_up }}"
-  delay: "{{ delay_wait_osd_up }}"
-  changed_when: false
-  delegate_to: "{{ groups[mon_group_name][0] }}"
-  until:
-    - (wait_for_all_osds_up.stdout | from_json)["osdmap"]["osdmap"]["num_osds"] | int > 0
-    - (wait_for_all_osds_up.stdout | from_json)["osdmap"]["osdmap"]["num_osds"] == (wait_for_all_osds_up.stdout | from_json)["osdmap"]["osdmap"]["num_up_osds"]
-
 - name: pool related tasks
   block:
     - name: list existing pool(s)