From 91f8cfca5d921da9c7a1d53b1ada5a72ef9fafa3 Mon Sep 17 00:00:00 2001 From: Gino Naumann Date: Tue, 16 Jan 2024 12:50:12 +0100 Subject: [PATCH] Add pvresize option You can now define the pvresize per vg. To avoid a breaking change, the global option pvresize_to_max is set as default --- defaults/main.yml | 7 +++---- tasks/create_vg.yml | 14 +------------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 2626309..a5564f2 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -9,6 +9,8 @@ lvm_groups: [] # # defines if VG should exist or be removed # # true or false # create: true +# # defines if PV should be resized to max size +# pvresize: false # lvnames: # - lvname: swap_1 # # Define size of lvol @@ -86,8 +88,5 @@ ebsnvme_binary_helper_path: '/sbin/go-ebsnvme' ### nvme to scsi device name map script helper ebsnvme_scrip_helper_path: '/usr/local/bin/ebsnvme-id' -### auto pvresize (waiting until ansible 2.10 or above as collections have new lvg with integrated pvresize) -### waiting for new module in collection set to true or run pvresize manually on remote systems -### https://docs.ansible.com/ansible/3/collections/community/general/lvg_module.html -### +### resize all pv's to max size pvresize_to_max: false diff --git a/tasks/create_vg.yml b/tasks/create_vg.yml index 069c8bf..531ee32 100644 --- a/tasks/create_vg.yml +++ b/tasks/create_vg.yml @@ -4,24 +4,12 @@ vg: "{{ vg.vgname }}" pvs: "{{ vg.disks | join(',') }}" state: present + pvresize: "{{ vg.pvresize | default(pvresize_to_max) }}" become: true when: - vg.create is defined - vg.create|bool -### workaround: auto pvresize waiting for upgrade to new module supporting integrated pvresize -### ref: https://docs.ansible.com/ansible/3/collections/community/general/lvg_module.html -- name: create_vg | pvresize to max available free space - ansible.builtin.command: "pvresize {{ pv }}" - loop: "{{ vg.disks | default([]) }}" - loop_control: - loop_var: pv - changed_when: false - when: - - vg.create is defined - - vg.create|bool - - pvresize_to_max|bool - - name: manage_lvm | loop over logical volume group(s) to create logical volumes ansible.builtin.include_tasks: create_lv.yml loop: "{{ vg.lvnames | default([]) }}"