From: Andrew Schoen Date: Thu, 28 Mar 2019 19:34:48 +0000 (-0500) Subject: rolling_update: set num_osds to the number of running osds X-Git-Tag: v5.0.0alpha1~388 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=67453853ff559f1c19bc969ca3116c9c13f877bb;p=ceph-ansible.git rolling_update: set num_osds to the number of running osds 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 --- diff --git a/infrastructure-playbooks/rolling_update.yml b/infrastructure-playbooks/rolling_update.yml index 29174b0a7..7e23e732b 100644 --- a/infrastructure-playbooks/rolling_update.yml +++ b/infrastructure-playbooks/rolling_update.yml @@ -359,6 +359,12 @@ 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 }} @@ -369,6 +375,12 @@ 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: diff --git a/roles/ceph-config/tasks/main.yml b/roles/ceph-config/tasks/main.yml index 0c14d2d97..05f4700ad 100644 --- a/roles/ceph-config/tasks/main.yml +++ b/roles/ceph-config/tasks/main.yml @@ -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: