From ba2ab1cb42db29c8287c65a3f1e0b646eeba0464 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 20 Jan 2024 22:42:30 +0100 Subject: add storage_device roles --- roles/storage/lvm/device/tasks/main.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 roles/storage/lvm/device/tasks/main.yml (limited to 'roles/storage/lvm/device/tasks/main.yml') diff --git a/roles/storage/lvm/device/tasks/main.yml b/roles/storage/lvm/device/tasks/main.yml new file mode 100644 index 00000000..bac06b3d --- /dev/null +++ b/roles/storage/lvm/device/tasks/main.yml @@ -0,0 +1,25 @@ +--- +- name: check device parent + when: "'parent' in lvm_device" + assert: + msg: "the device parent must be a lvm thinpool" + that: + - (lvm_device.parent.thinpool | default(false)) + +- name: install thin-provisioning-tools + when: (lvm_device.thinpool | default(false)) + apt: + name: thin-provisioning-tools + state: present + +- name: create logical volume + lvol: + vg: "{{ lvm_device.parent.vg | default(lvm_device.vg) }}" + lv: "{{ (lvm_device.thinpool | default(false)) | ternary(omit, lvm_device.lv) }}" + size: "{{ lvm_device.size }}" + thinpool: "{{ (lvm_device.thinpool | default(false)) | ternary(lvm_device.lv, (lvm_device.parent.lv | default(omit))) }}" + +- name: export device path + when: not (lvm_device.thinpool | default(false)) + set_fact: + storage_device_path: "/dev/mapper/{{ lvm_device.parent.vg | default(lvm_device.vg) | replace('-', '--') }}-{{ lvm_device.lv | replace('-', '--') }}" -- cgit v1.2.3