diff options
Diffstat (limited to 'roles/storage/lvm/device/tasks')
-rw-r--r-- | roles/storage/lvm/device/tasks/main.yml | 25 |
1 files changed, 25 insertions, 0 deletions
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('-', '--') }}" |