Run LVM filter tasks when enabled, regardless of allow/deny list size

When the LVM filter is enabled, it should also run when the allow list
is empty.

Change-Id: I88ec250cb3e29c08ce7e7f5e02b5e7e48f997fea
Closes-Bug: #1907452
This commit is contained in:
Giulio Fidente 2020-12-09 12:59:35 +01:00
parent 82659a89a7
commit 20f1e9766b
1 changed files with 30 additions and 35 deletions

View File

@ -32,38 +32,33 @@
| intersect(ansible_devices.keys()) | intersect(ansible_devices.keys())
+ (tripleo_tripleo_lvmfilter_devices_allowlist | default([])) + (tripleo_tripleo_lvmfilter_devices_allowlist | default([]))
| unique }}" | unique }}"
- name: create lvm.conf with global_filter - name: build lvm2 allow list
when: set_fact:
- allowed_devices is defined lvm2_allow_list: "\"{{ allowed_devices | map('regex_replace', '(.+)', 'a|\\1|')
- (allowed_devices | length) > 0 | join('\",\"') }}\""
block: - name: build lvm2 deny list
- name: build lvm2 allow list set_fact:
set_fact: lvm2_deny_list: "\"{{ tripleo_tripleo_lvmfilter_devices_denylist | default([])
lvm2_allow_list: "\"{{ allowed_devices | map('regex_replace', '(.+)', 'a|\\1|') | map('regex_replace', '(.+)', 'r|\\1|') | join('\",\"') }}\""
| join('\",\"') }}\"" - name: build lvm2 filter
- name: build lvm2 deny list set_fact:
set_fact: lvm2_filter: "{{ lvm2_allow_list + ',' + lvm2_deny_list }}"
lvm2_deny_list: "\"{{ tripleo_tripleo_lvmfilter_devices_denylist | default([]) - name: regenerate lvm config
| map('regex_replace', '(.+)', 'r|\\1|') | join('\",\"') }}\"" become: true
- name: build lvm2 filter command: >
set_fact: lvmconfig -f /tmp/tripleo_lvmfilter.conf
filter: "{{ lvm2_allow_list + ',' + lvm2_deny_list }}" --mergedconfig --withgeneralpreamble --withspaces --withsummary --withcomments --ignorelocal --showdeprecated
- name: regenerate lvm config --config devices/global_filter='[{{ lvm2_filter }}]'
become: true - name: copy new lvm.conf in place
command: > become: true
lvmconfig -f /tmp/tripleo_lvmfilter.conf copy:
--mergedconfig --withgeneralpreamble --withspaces --withsummary --withcomments --ignorelocal --showdeprecated remote_src: true
--config devices/global_filter='[{{ filter }}]' src: /tmp/tripleo_lvmfilter.conf
- name: copy new lvm.conf in place dest: /etc/lvm/lvm.conf
become: true owner: root
copy: group: root
remote_src: true mode: '0644'
src: /tmp/tripleo_lvmfilter.conf backup: true
dest: /etc/lvm/lvm.conf when: tripleo_tripleo_lvmfilter_enabled
owner: root notify:
group: root - Refresh LVM caches
mode: '0644'
backup: true
when: tripleo_tripleo_lvmfilter_enabled
notify:
- Refresh LVM caches