6 - name: stop ceph-osd daemons
8 name: "ceph-osd@{{ item }}"
10 with_items: "{{ osd_ids }}"
16 - name: mark osds down
17 command: "ceph --cluster {{ cluster }} osd down osd.{{ item }}"
18 with_items: "{{ osd_ids }}"
20 command: "ceph --cluster {{ cluster }} osd purge osd.{{ item }} --yes-i-really-mean-it"
21 with_items: "{{ osd_ids }}"
26 external_devices: "{{ '--db-devices' if osd_objectstore == 'bluestore' else '--journal-devices' }}"
29 - name: zap devices used for OSDs
30 command: "ceph-volume --cluster {{ cluster }} lvm zap {{ item }} --destroy"
31 with_items: "{{ devices }}"
35 - name: batch create devices again
36 command: "ceph-volume --cluster {{ cluster }} lvm batch --yes --{{ osd_objectstore|default('bluestore') }} {{ '--dmcrypt' if dmcrypt|default(false) else '' }} {{ devices[:2] | join(' ') }} {{ external_devices }} {{ devices[2:] | join(' ') }}"
40 - name: ensure batch create is idempotent when all data devices are filtered
41 command: "ceph-volume --cluster {{ cluster }} lvm batch --yes --{{ osd_objectstore|default('bluestore') }} {{ '--dmcrypt' if dmcrypt|default(false) else '' }} {{ devices[:2] | join(' ') }} {{ external_devices }} {{ devices[2:] | join(' ') }}"
47 - name: check batch idempotency
49 msg: "lvm batch failed idempotency check"
53 - name: run batch --report to see if devices get filtered
54 command: "ceph-volume --cluster {{ cluster }} lvm batch --report --format=json --{{ osd_objectstore|default('bluestore') }} {{ '--dmcrypt' if dmcrypt|default(false) else '' }} {{ devices[:2] | join(' ') }} {{ external_devices }} {{ devices[2:] | join(' ') }}"
60 - name: check batch --report idempotency
62 msg: "lvm batch --report failed idempotency check"