]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
rolling_update: set num_osds to the number of running osds
authorAndrew Schoen <aschoen@redhat.com>
Thu, 28 Mar 2019 19:34:48 +0000 (14:34 -0500)
committerGuillaume Abrioux <gabrioux@redhat.com>
Thu, 18 Apr 2019 17:12:13 +0000 (19:12 +0200)
We do this so that the ceph-config role can most accurately
report the number of osds for the generation of the ceph.conf
file.

We don't want to use ceph-volume to determine the number of
osds because in an upgrade to nautilus ceph-volume won't be able to
accurately count osds created by ceph-disk.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
(cherry picked from commit 67453853ff559f1c19bc969ca3116c9c13f877bb)

infrastructure-playbooks/rolling_update.yml
roles/ceph-config/tasks/main.yml

index f2c8ef65ce50cef56c311714bc3025fec2431627..1ed417c6e66699ae1c56f7064395e3bea423e6da 100644 (file)
       changed_when: false
       when: containerized_deployment
 
+    - name: set num_osds for container
+      set_fact:
+        num_osds: "{{ osd_names.stdout_lines|default([])|length }}"
+      when:
+        - containerized_deployment
+
     - name: stop ceph osd
       systemd:
         name: ceph-osd@{{ item }}
       when:
         - not containerized_deployment
 
+    - name: set num_osds for non container
+      set_fact:
+        num_osds: "{{ osd_ids.stdout_lines|default([])|length }}"
+      when:
+        - not containerized_deployment
+
     - import_role:
         name: ceph-defaults
     - import_role:
index dd9200e62bbbe7e5db8fc2d83e39cfdacf27d2b0..d1763799c12042279647b892682c8f31a7c53f50 100644 (file)
@@ -7,6 +7,9 @@
 - name: config file operations related to OSDs
   when:
     - inventory_hostname in groups.get(osd_group_name, [])
+    # the rolling_update.yml playbook sets num_osds to the number of currently
+    # running osds
+    - not rolling_update
   block:
   - name: count number of osds for lvm scenario
     set_fact: