]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
ceph-osd: use the new ceph_volume module for the lvm scenario
authorAndrew Schoen <aschoen@redhat.com>
Fri, 1 Dec 2017 13:33:16 +0000 (07:33 -0600)
committerSébastien Han <seb@redhat.com>
Mon, 11 Dec 2017 15:58:06 +0000 (09:58 -0600)
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
roles/ceph-osd/tasks/scenarios/lvm.yml

index c5037fe5362158ef23cbebfda0f82bcb07d98b0a..ae99e3f9429f25435175dd2f2b0aa53709c9c1ff 100644 (file)
 ---
 
-- 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"