From 826627c937ac0b9a78e73fb7b968c8703cd87c66 Mon Sep 17 00:00:00 2001 From: Jakub Jursa Date: Wed, 5 Sep 2018 16:18:48 +0200 Subject: [PATCH] Make devices filter in lvm.conf overridable Change-Id: I2700028965bd89abaa342df91014874c94daf06c --- defaults/main.yml | 7 +++++++ templates/lvm.conf.j2 | 22 +++++++++++++--------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 44c6252d..751e575d 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -273,6 +273,13 @@ cinder_quota_backup_gigabytes: 1000 # - lvm_high_iops # - lvm_low_iops +# Override generated device filter in lvm.conf +# Example: +# cinder_lvm_devices_filter_override: +# - '"a/sd.*/"' +# - '"a/hd.*/"' +cinder_lvm_devices_filter_override: [] + # cinder_backend_lvm_inuse: True if current host has an lvm backend cinder_backend_lvm_inuse: '{{ (cinder_backends|default("")|to_json).find("lvm") != -1 }}' # cinder_backend_rbd_inuse: True if the current host has an rbd backend diff --git a/templates/lvm.conf.j2 b/templates/lvm.conf.j2 index 4d907217..7d2fe889 100644 --- a/templates/lvm.conf.j2 +++ b/templates/lvm.conf.j2 @@ -1,17 +1,21 @@ # {{ ansible_managed }} {% set used_lvm_devices = [] %} -{% set lv_devices = lvm_devices.stdout.split('\n') %} -{% if lv_devices|length > 0 %} - {% for net in lv_devices %} - {% if net != '' %} - {% set lv_device = '"a/' + net + '/"' %} - {% if used_lvm_devices.append(lv_device) %}{% endif %} - {% endif %} - {% endfor %} -{% endif %} +{% if cinder_lvm_devices_filter_override|length > 0 %} + {% set used_lvm_devices = cinder_lvm_devices_filter_override %} +{% else %} + {% set lv_devices = lvm_devices.stdout.split('\n') %} + {% if lv_devices|length > 0 %} + {% for net in lv_devices %} + {% if net != '' %} + {% set lv_device = '"a/' + net + '/"' %} + {% if used_lvm_devices.append(lv_device) %}{% endif %} + {% endif %} + {% endfor %} + {% endif %} # Ansible Discovered LVM Devices {{ lv_devices }} +{% endif %} {% if used_lvm_devices|length <= 0 %} {# If there are no LVM devices present, allow all devices to be scanned #}