parametrize lvm filters
Change-Id: I556ab82a1dc0ce711958404165e419275ff5ce19
diff --git a/linux/files/lvm.conf b/linux/files/lvm.conf
index a45aed4..02f1c74 100644
--- a/linux/files/lvm.conf
+++ b/linux/files/lvm.conf
@@ -129,7 +129,7 @@
# Example
# Accept every block device:
- filter = [ "r|/dev/sd.*|","r|/dev/mapper/.*|","r|/dev/.*/by-id/.*|", "r|/dev/.*/by-path/.*|" ]
+ filter = [ {%- for vgname, vg in storage.lvm.iteritems() %}{%- if vg.get('enabled', True) %}{%- for dev in vg.devices %}"a|{{ dev }}*|"{%- if not loop.last %},{%- endif %}{%- endfor %}{%- endif %}{%- endfor %}, "r|.*|" ]
# filter = [ "a|.*/|" ]
# Reject the cdrom drive:
diff --git a/linux/map.jinja b/linux/map.jinja
index 5e865fb..9780d90 100644
--- a/linux/map.jinja
+++ b/linux/map.jinja
@@ -145,6 +145,7 @@
'mount': {},
'swap': {},
'lvm': {},
+ 'lvm_services': ['lvm2', 'lvm2-lvmetad', 'lvm2-lvmpolld', 'lvm2-monitor'],
'loopback': {},
'nfs': {
'pkgs': ['nfs-utils']
@@ -159,6 +160,7 @@
'mount': {},
'swap': {},
'lvm': {},
+ 'lvm_services': ['lvm2', 'lvm2-lvmetad', 'lvm2-lvmpolld', 'lvm2-monitor'],
'loopback': {},
'nfs': {
'pkgs': ['nfs-common']
@@ -174,6 +176,7 @@
'mount': {},
'swap': {},
'lvm': {},
+ 'lvm_services': ['lvm2', 'lvm2-lvmetad', 'lvm2-lvmpolld', 'lvm2-monitor'],
'loopback': {},
'nfs': {
'pkgs': ['nfs-utils']
diff --git a/linux/storage/lvm.sls b/linux/storage/lvm.sls
index fa7032f..e88c2f1 100644
--- a/linux/storage/lvm.sls
+++ b/linux/storage/lvm.sls
@@ -54,4 +54,13 @@
- require:
- pkg: linux_lvm_pkgs
+lvm_services:
+ service.running:
+ - enable: true
+ - names: {{ storage.lvm_services }}
+ - require:
+ - file: /etc/lvm/lvm.conf
+ - watch:
+ - file: /etc/lvm/lvm.conf
+
{%- endif %}