]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
osd: validate devices variable input 1644/head
authorDouglas Fuller <dfuller@redhat.com>
Mon, 3 Jul 2017 15:10:16 +0000 (15:10 +0000)
committerDouglas Fuller <dfuller@redhat.com>
Fri, 7 Jul 2017 13:37:29 +0000 (13:37 +0000)
Fail with a sane message if the devices or raw_journal_devices variables
are strings instead of lists during manual device assignment.

Signed-off-by: Douglas Fuller <dfuller@redhat.com>
roles/ceph-osd/tasks/check_mandatory_vars.yml

index 9def8abf41f01038e8ed09a76ebad979349f772c..652cacbaa2645ea9b138469deb270b922149fbdd 100644 (file)
     - not osd_auto_discovery
     - devices|length == 0
 
+- name: make sure the devices variable is a list
+  fail:
+    msg: "devices: must be a list, not a string, i.e. [ \"/dev/sda\" ]"
+  when:
+    - osd_group_name is defined
+    - osd_group_name in group_names
+    - not osd_auto_discovery
+    - devices is string
+
 - name: verify journal devices have been provided
   fail:
     msg: "please provide devices and raw journal devices to your osd scenario"
     - raw_journal_devices|length == 0
       or devices|length == 0
 
+- name: make sure the raw_journal_devices variable is a list
+  fail:
+    msg: "raw_journal_devices: must be a list, not a string, i.e. [ \"/dev/sda\" ]"
+  when:
+    - osd_group_name is defined
+    - osd_group_name in group_names
+    - not containerized_deployment
+    - raw_multi_journal
+    - raw_journal_devices is string
+    - raw_journal_devices|length == 0
+      or devices|length == 0
+
 - name: check if bluestore is supported by the selected ceph version
   fail:
     msg: "bluestore is not supported by the selected Ceph version, use Luminous or above."