Robert Kaussow
07e46fc755
All checks were successful
continuous-integration/drone/push Build is passing
50 lines
1.7 KiB
YAML
50 lines
1.7 KiB
YAML
---
|
|
- block:
|
|
- name: Install requirements
|
|
package:
|
|
name: "{{ item }}"
|
|
state: present
|
|
loop: "{{ lvm_packages }}"
|
|
|
|
- name: Create volume group
|
|
lvg:
|
|
vg: "{{ item.group }}"
|
|
pvs: "{{ item.disks | join(',') }}"
|
|
pesize: "4"
|
|
pvresize: yes
|
|
loop: "{{ lvm_volumes }}"
|
|
loop_control:
|
|
label: "name: {{ item.group }}, disks: {{ item.disks | join(',') }}"
|
|
|
|
- name: Create logical volume
|
|
lvol:
|
|
vg: "{{ item.group }}"
|
|
lv: "{{ item.name }}"
|
|
size: "{{ item.size }}"
|
|
resizefs: "{{ item.resizefs | default(True) }}"
|
|
state: present
|
|
loop: "{{ lvm_volumes }}"
|
|
loop_control:
|
|
label: "name: {{ item.group }}, size: {{ item.size }}"
|
|
|
|
- name: Create filesystem
|
|
filesystem:
|
|
fstype: "{{ item.fstype | default('ext4') }}"
|
|
dev: "/dev/mapper/{{ item.group }}-{{ item.name }}"
|
|
loop: "{{ lvm_volumes }}"
|
|
loop_control:
|
|
label: "device: /dev/mapper/{{ item.group }}-{{ item.name }}, fstype: {{ item.fstype | default('ext4') }}"
|
|
|
|
- name: Mount volume
|
|
mount:
|
|
path: "{{ item.mountpoint }}"
|
|
src: "/dev/mapper/{{ item.group }}-{{ item.name }}"
|
|
fstype: "{{ item.fstype | default('ext4') }}"
|
|
opts: "{{ item.mountopts | default([]) | join(',') or omit }}"
|
|
state: "{{ item.state | default('mounted') }}"
|
|
loop: "{{ lvm_volumes }}"
|
|
loop_control:
|
|
label: "mount: /dev/mapper/{{ item.group }}-{{ item.name }} {{ item.mountpoint }} {{ item.fstype | default('ext4') }}{% if item.mountopts is defined %} {{ item.mountopts | join(',') }}{% endif %}"
|
|
become: True
|
|
become_user: root
|