]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
osd: add wal_devices option support to ceph_volume module
authorGuillaume Abrioux <gabrioux@redhat.com>
Fri, 23 Aug 2019 07:02:12 +0000 (09:02 +0200)
committerGuillaume Abrioux <gabrioux@redhat.com>
Thu, 26 Sep 2019 14:21:54 +0000 (16:21 +0200)
This commit adds the `wal_devices` option support to the
ceph_volume module.
passing a devices list in `bluestore_wal_devices` will make ceph-volume
creating 1 vg using these devices to create block.wal partitions.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 09e04a91973304fda9ec006776f4a9b9f2bc93b9)

group_vars/osds.yml.sample
library/ceph_volume.py
roles/ceph-osd/defaults/main.yml
roles/ceph-osd/tasks/scenarios/lvm-batch.yml

index 68ab3ddabcfeaa77f3a090954faac58c641f6c47..b37da603171c2f229a8d5e606c4b65fe889eaca2 100644 (file)
@@ -44,11 +44,19 @@ dummy:
 # Declare devices to be used as block.db devices
 
 #dedicated_devices:
-#  - /dev/sda
-#  - /dev/sdb
+#  - /dev/sdx
+#  - /dev/sdy
 
 #dedicated_devices: []
 
+# Declare devices to be used as block.wal devices
+
+#bluestore_wal_devices:
+#  - /dev/nvme0n1
+#  - /dev/nvme0n2
+
+#bluestore_wal_devices: []
+
 #'osd_auto_discovery'  mode prevents you from filling out the 'devices' variable above.
 # Device discovery is based on the Ansible fact 'ansible_devices'
 # which reports all the devices on a system. If chosen, all the disks
index a963a027b99a239d293a04dcfd288fb4cd74f80c..8398a876a79c7d7c16952cb0f9cf70552eb7c8ba 100644 (file)
@@ -280,6 +280,7 @@ def batch(module, container_image):
     journal_size = module.params.get('journal_size', None)
     block_db_size = module.params.get('block_db_size', None)
     block_db_devices = module.params.get('block_db_devices', None)
+    wal_devices = module.params.get('wal_devices', None)
     dmcrypt = module.params.get('dmcrypt', None)
     osds_per_device = module.params.get('osds_per_device', 1)
 
@@ -321,6 +322,9 @@ def batch(module, container_image):
     if block_db_devices:
         cmd.extend(['--db-devices', ' '.join(block_db_devices)])
 
+    if wal_devices:
+        cmd.extend(['--wal-devices', ' '.join(wal_devices)])
+
     return cmd
 
 
@@ -508,6 +512,7 @@ def run_module():
         journal_size=dict(type='str', required=False, default='5120'),
         block_db_size=dict(type='str', required=False, default='-1'),
         block_db_devices=dict(type='list', required=False, default=[]),
+        wal_devices=dict(type='list', required=False, default=[]),
         report=dict(type='bool', required=False, default=False),
         containerized=dict(type='str', required=False, default=False),
         osd_fsid=dict(type='str', required=False),
index 3c4b9b5ad38cc2314fa9c5d5e00dd924223c7ee2..2d2ab4ef6fbc0fe49070f81c489385e0ae0d72cc 100644 (file)
@@ -36,11 +36,19 @@ devices: []
 # Declare devices to be used as block.db devices
 
 #dedicated_devices:
-#  - /dev/sda
-#  - /dev/sdb
+#  - /dev/sdx
+#  - /dev/sdy
 
 dedicated_devices: []
 
+# Declare devices to be used as block.wal devices
+
+#bluestore_wal_devices:
+#  - /dev/nvme0n1
+#  - /dev/nvme0n2
+
+bluestore_wal_devices: []
+
 #'osd_auto_discovery'  mode prevents you from filling out the 'devices' variable above.
 # Device discovery is based on the Ansible fact 'ansible_devices'
 # which reports all the devices on a system. If chosen, all the disks
index 0b11f3a14af167737b9f41dda772afffa98b458a..ce1c1c7b880439f6753fa139195b3dc609a19eba 100644 (file)
@@ -11,6 +11,7 @@
     journal_size: "{{ journal_size }}"
     block_db_size: "{{ block_db_size }}"
     block_db_devices: "{{ dedicated_devices | unique if dedicated_devices | length > 0 else omit }}"
+    wal_devices: "{{ bluestore_wal_devices | unique if bluestore_wal_devices | length > 0 else omit }}"
     action: "batch"
   environment:
     CEPH_VOLUME_DEBUG: 1