From 40f82319dd0ccee9d33620ad579d20701589fd61 Mon Sep 17 00:00:00 2001 From: Andrew Schoen Date: Tue, 25 Sep 2018 15:25:40 -0500 Subject: [PATCH] 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 --- roles/ceph-config/tasks/main.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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, []) -- 2.39.5