41 lines
1.0 KiB
YAML
41 lines
1.0 KiB
YAML
---
|
|
- name: Install LVM tools (if not present)
|
|
ansible.builtin.package:
|
|
name: lvm2
|
|
state: present
|
|
|
|
- name: Check if Docker LV exists
|
|
ansible.builtin.command: >
|
|
"lvs --noheadings -o lv_name {{ hostvars[inventory_hostname]['vmid'] }}"
|
|
|
|
register: lvs_output
|
|
|
|
- name: Create logical volume for Docker
|
|
community.general.lvol:
|
|
vg: "{{ docker_vg }}"
|
|
lv: "{{ docker_lv }}"
|
|
size: "{{ docker_lv_size }}"
|
|
state: present
|
|
# when: docker_lv not in lvs_output.stdout
|
|
# vars:
|
|
# docker_lv: "{{ docker_lv }}"
|
|
|
|
- name: Format logical volume with XFS
|
|
community.general.filesystem:
|
|
fstype: xfs
|
|
dev: "/dev/{{ docker_vg }}/{{ docker_lv }}"
|
|
opts: "-n ftype=1"
|
|
|
|
- name: Create mount point for Docker volume
|
|
ansible.builtin.file:
|
|
path: "{{ docker_mountpoint }}"
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Mount Docker LV to VM filesystem
|
|
ansible.posix.mount:
|
|
path: "{{ docker_mountpoint }}"
|
|
src: "/dev/{{ docker_vg }}/{{ docker_lv }}"
|
|
fstype: xfs
|
|
opts: defaults
|
|
state: mounted |