From: Andrew Schoen Date: Tue, 25 Sep 2018 20:25:40 +0000 (-0500) Subject: ceph-config: use 'lvm list' to find num_osds for an existing cluster X-Git-Tag: v3.2.0beta4~15 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=40f82319dd0ccee9d33620ad579d20701589fd61;p=ceph-ansible.git ceph-config: use 'lvm list' to find num_osds for an existing cluster This makes finding num_osds idempotent for clusters that were deployed using 'lvm batch'. Signed-off-by: Andrew Schoen --- diff --git a/roles/ceph-config/tasks/main.yml b/roles/ceph-config/tasks/main.yml index 9df56e44b..2f7b8f587 100644 --- a/roles/ceph-config/tasks/main.yml +++ b/roles/ceph-config/tasks/main.yml @@ -38,6 +38,7 @@ report: true action: "batch" register: lvm_batch_report + failed_when: false environment: CEPH_VOLUME_DEBUG: 1 when: @@ -50,6 +51,26 @@ when: - devices | default([]) | length > 0 - osd_scenario == 'lvm' + - (lvm_batch_report.stdout | from_json).changed + + - name: run 'ceph-volume lvm list' to see how many osds have already been created + ceph_volume: + action: "list" + register: lvm_list + environment: + CEPH_VOLUME_DEBUG: 1 + when: + - devices | default([]) | length > 0 + - osd_scenario == 'lvm' + - not (lvm_batch_report.stdout | from_json).changed + + - name: set_fact num_osds from the output of 'ceph-volume lvm list' + set_fact: + num_osds: "{{ lvm_list.stdout | from_json | length | int }}" + when: + - devices | default([]) | length > 0 + - osd_scenario == 'lvm' + - not (lvm_batch_report.stdout | from_json).changed when: - inventory_hostname in groups.get(osd_group_name, [])