From 423166f6719250eb9a357183187ee4aed99817fc Mon Sep 17 00:00:00 2001 From: Andrew Schoen Date: Fri, 1 Dec 2017 07:33:16 -0600 Subject: [PATCH] ceph-osd: use the new ceph_volume module for the lvm scenario Signed-off-by: Andrew Schoen --- roles/ceph-osd/tasks/scenarios/lvm.yml | 170 ++----------------------- 1 file changed, 11 insertions(+), 159 deletions(-) diff --git a/roles/ceph-osd/tasks/scenarios/lvm.yml b/roles/ceph-osd/tasks/scenarios/lvm.yml index c5037fe53..ae99e3f94 100644 --- a/roles/ceph-osd/tasks/scenarios/lvm.yml +++ b/roles/ceph-osd/tasks/scenarios/lvm.yml @@ -1,164 +1,16 @@ --- -- name: list all lvm osds - command: ceph-volume lvm list - register: ceph_volume_lvm_list - failed_when: False - changed_when: False - check_mode: no - -- name: use ceph-volume to create filestore osds with dedicated journals - command: "ceph-volume --cluster {{ cluster }} lvm create --filestore --data {{ item.data_vg }}/{{ item.data }} --journal {{ item.journal }}" - environment: - CEPH_VOLUME_DEBUG: 1 - with_items: "{{ lvm_volumes }}" - when: - - item.journal_vg is not defined - - item.data_vg is defined - - osd_objectstore == 'filestore' - - "'{{ item.data_vg }}/{{ item.data }}' not in ceph_volume_lvm_list.stdout" - -- name: use ceph-volume to create filestore osds with dedicated lv journals - command: "ceph-volume --cluster {{ cluster }} lvm create --filestore --data {{ item.data_vg }}/{{ item.data }} --journal {{item.journal_vg }}/{{ item.journal }}" - environment: - CEPH_VOLUME_DEBUG: 1 - with_items: "{{ lvm_volumes }}" - when: - - item.journal_vg is defined - - item.data_vg is defined - - osd_objectstore == 'filestore' - - "'{{ item.data_vg }}/{{ item.data }}' not in ceph_volume_lvm_list.stdout" - -- name: use ceph-volume to create bluestore osds with db and wal - command: "ceph-volume --cluster {{ cluster }} lvm create --bluestore --data {{ item.data_vg }}/{{ item.data }} --block.wal {{ item.wal_vg }}/{{ item.wal }} --block.db {{ item.db_vg }}/{{ item.db }}" - environment: - CEPH_VOLUME_DEBUG: 1 - with_items: "{{ lvm_volumes }}" - when: - - osd_objectstore == 'bluestore' - - item.data_vg is defined - - item.wal is defined - - item.wal_vg is defined - - item.db is defined - - item.db_vg is defined - - "'{{ item.data_vg }}/{{ item.data }}' not in ceph_volume_lvm_list.stdout" - -- name: use ceph-volume to create bluestore osds with db only - command: "ceph-volume --cluster {{ cluster }} lvm create --bluestore --data {{ item.data_vg }}/{{ item.data }} --block.db {{ item.db_vg }}/{{ item.db }}" - environment: - CEPH_VOLUME_DEBUG: 1 - with_items: "{{ lvm_volumes }}" - when: - - osd_objectstore == 'bluestore' - - item.data_vg is defined - - item.wal is not defined - - item.wal_vg is not defined - - item.db is defined - - item.db_vg is defined - - "'{{ item.data_vg }}/{{ item.data }}' not in ceph_volume_lvm_list.stdout" - -- name: use ceph-volume to create bluestore osds with wal only - command: "ceph-volume --cluster {{ cluster }} lvm create --bluestore --data {{ item.data_vg }}/{{ item.data }} --block.wal {{ item.wal_vg }}/{{ item.wal }}" - environment: - CEPH_VOLUME_DEBUG: 1 - with_items: "{{ lvm_volumes }}" - when: - - osd_objectstore == 'bluestore' - - item.wal is defined - - item.data_vg is defined - - item.wal_vg is defined - - item.db is not defined - - item.db_vg is not defined - - "'{{ item.data_vg }}/{{ item.data }}' not in ceph_volume_lvm_list.stdout" - -- name: use ceph-volume to create bluestore osds with just a data device - command: "ceph-volume --cluster {{ cluster }} lvm create --bluestore --data {{ item.data_vg }}/{{ item.data }}" - environment: - CEPH_VOLUME_DEBUG: 1 - with_items: "{{ lvm_volumes }}" - when: - - osd_objectstore == 'bluestore' - - item.wal is not defined - - item.data_vg is defined - - item.wal_vg is not defined - - item.db is not defined - - item.db_vg is not defined - - "'{{ item.data_vg }}/{{ item.data }}' not in ceph_volume_lvm_list.stdout" - -- name: use ceph-volume to create filestore osds with dedicated journals and a raw device or partition for data - command: "ceph-volume --cluster {{ cluster }} lvm create --filestore --data {{ item.data }} --journal {{ item.journal }}" - environment: - CEPH_VOLUME_DEBUG: 1 - with_items: "{{ lvm_volumes }}" - when: - - item.journal_vg is not defined - - item.data_vg is not defined - - osd_objectstore == 'filestore' - - "'{{ item.data }}' not in ceph_volume_lvm_list.stdout" - -- name: use ceph-volume to create filestore osds with dedicated lv journals and a raw device or partition for data - command: "ceph-volume --cluster {{ cluster }} lvm create --filestore --data {{ item.data }} --journal {{item.journal_vg }}/{{ item.journal }}" - environment: - CEPH_VOLUME_DEBUG: 1 - with_items: "{{ lvm_volumes }}" - when: - - item.journal_vg is defined - - item.data_vg is not defined - - osd_objectstore == 'filestore' - - "'{{ item.data }}' not in ceph_volume_lvm_list.stdout" - -- name: use ceph-volume to create bluestore osds with db and wal and a raw device or partition for data - command: "ceph-volume --cluster {{ cluster }} lvm create --bluestore --data {{ item.data }} --block.wal {{ item.wal_vg }}/{{ item.wal }} --block.db {{ item.db_vg }}/{{ item.db }}" - environment: - CEPH_VOLUME_DEBUG: 1 - with_items: "{{ lvm_volumes }}" - when: - - osd_objectstore == 'bluestore' - - item.data_vg is not defined - - item.wal is defined - - item.wal_vg is defined - - item.db is defined - - item.db_vg is defined - - "'{{ item.data }}' not in ceph_volume_lvm_list.stdout" - -- name: use ceph-volume to create bluestore osds with db only and a raw device or partition for data - command: "ceph-volume --cluster {{ cluster }} lvm create --bluestore --data {{ item.data }} --block.db {{ item.db_vg }}/{{ item.db }}" - environment: - CEPH_VOLUME_DEBUG: 1 - with_items: "{{ lvm_volumes }}" - when: - - osd_objectstore == 'bluestore' - - item.data_vg is not defined - - item.wal is not defined - - item.wal_vg is not defined - - item.db is defined - - item.db_vg is defined - - "'{{ item.data }}' not in ceph_volume_lvm_list.stdout" - -- name: use ceph-volume to create bluestore osds with wal only and a raw device or partition for data - command: "ceph-volume --cluster {{ cluster }} lvm create --bluestore --data {{ item.data }} --block.wal {{ item.wal_vg }}/{{ item.wal }}" - environment: - CEPH_VOLUME_DEBUG: 1 - with_items: "{{ lvm_volumes }}" - when: - - osd_objectstore == 'bluestore' - - item.wal is defined - - item.data_vg is not defined - - item.wal_vg is defined - - item.db is not defined - - item.db_vg is not defined - - "'{{ item.data }}' not in ceph_volume_lvm_list.stdout" - -- name: use ceph-volume to create bluestore osds with just a data device and a raw device or partition for data - command: "ceph-volume --cluster {{ cluster }} lvm create --bluestore --data {{ item.data }}" +- name: use ceph-volume to create osds + ceph_volume: + objectstore: "{{ osd_objectstore }}" + data: "{{ item.data }}" + data_vg: "{{ item.data_vg|default(omit) }}" + journal: "{{ item.journal|default(omit) }}" + journal_vg: "{{ item.journal_vg|default(omit) }}" + db: "{{ item.db|default(omit) }}" + db_vg: "{{ item.db_vg|default(omit) }}" + wal: "{{ item.wal|default(omit) }}" + wal_vg: "{{ item.wal_vg|default(omit) }}" environment: CEPH_VOLUME_DEBUG: 1 with_items: "{{ lvm_volumes }}" - when: - - osd_objectstore == 'bluestore' - - item.wal is not defined - - item.data_vg is not defined - - item.wal_vg is not defined - - item.db is not defined - - item.db_vg is not defined - - "'{{ item.data }}' not in ceph_volume_lvm_list.stdout" -- 2.39.5