Performance: skip LVM configuration if no groups configured

Currently we import the manage-lvm role with a condition that skips
tasks when no LVM groups are configured. At large scale this is
inefficient.

This change improves the performance for hosts where there are no LVM
groups configured, by using include_role rather than a static import.

Story: 2007993
Task: 40664

Change-Id: Ib51ac445cc787d7045d72a9ecec14434d432d9e7
This commit is contained in:
Mark Goddard 2020-08-04 17:17:38 +01:00 committed by Pierre Riteau
parent 84f98f4c04
commit 5ff5e6b100

View File

@ -4,7 +4,7 @@
tags: tags:
- lvm - lvm
- upgrade-check - upgrade-check
pre_tasks: tasks:
- name: Fail if the LVM physical disks have not been configured - name: Fail if the LVM physical disks have not been configured
fail: fail:
msg: > msg: >
@ -13,6 +13,7 @@
has a valid 'disks' list. has a valid 'disks' list.
with_items: "{{ lvm_groups | default([]) }}" with_items: "{{ lvm_groups | default([]) }}"
when: not item.disks | default([]) or 'changeme' in item.disks | default([]) when: not item.disks | default([]) or 'changeme' in item.disks | default([])
- name: Fail if the LVM physical disks are configured as a comma-separated string - name: Fail if the LVM physical disks are configured as a comma-separated string
fail: fail:
msg: > msg: >
@ -21,10 +22,14 @@
each volume group in 'lvm_groups' has a valid 'disks' list. each volume group in 'lvm_groups' has a valid 'disks' list.
with_items: "{{ lvm_groups | default([]) }}" with_items: "{{ lvm_groups | default([]) }}"
when: item.disks | string() == item.disks when: item.disks | string() == item.disks
roles:
- role: mrlesmithjr.manage-lvm - name: Ensure LVM configuration is applied
manage_lvm: True vars:
become: True manage_lvm: True
include_role:
name: mrlesmithjr.manage-lvm
apply:
become: True
when: when:
- lvm_groups is defined - lvm_groups is defined
- lvm_groups | length > 0 - lvm_groups | length > 0