]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
ceph-facts: add get default crush rule from running monitor
authorSeena Fallah <seenafallah@gmail.com>
Sun, 27 Sep 2020 17:11:07 +0000 (20:41 +0330)
committerDimitri Savineau <savineau.dimitri@gmail.com>
Tue, 29 Sep 2020 16:15:09 +0000 (12:15 -0400)
In case of deploying new monitor node to an existing cluster,
osd_pool_default_crush_rule should be taken from running monitor because
ceph-osd role won't be run and the new monitor will have different
osd_pool_default_crush_role from other monitors.

Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit ff9f4d138f988d908b5f5583e0c1fcf5dd72e36d)

roles/ceph-facts/tasks/facts.yml

index aef22b97edf1bdfd6d11c71a2b0c4c9ecba4805f..a67163f5856f57583d3cffc1f0276eee9fc8a475 100644 (file)
   changed_when: false
   check_mode: no
   failed_when: false
-  when: ceph_conf.stat.exists
+  when: ceph_conf.stat.exists | bool
+
+- name: get default crush rule value from running monitor ceph configuration
+  command: grep 'osd pool default crush rule' /etc/ceph/{{ cluster }}.conf
+  register: crush_rule_variable
+  changed_when: false
+  check_mode: no
+  failed_when: false
+  run_once: true
+  delegate_to: "{{ running_mon }}"
+  when:
+    - running_mon is defined
+    - not ceph_conf.stat.exists | bool
 
 - name: set_fact osd_pool_default_crush_rule
   set_fact: