fix ansible-lint errors
This commit is contained in:
@@ -28,13 +28,13 @@ roles:
|
|||||||
virtual_group: "group"
|
virtual_group: "group"
|
||||||
logical_volume: "volume"
|
logical_volume: "volume"
|
||||||
lvm_dev: "/dev/sda"
|
lvm_dev: "/dev/sda"
|
||||||
size: 100%FREE
|
make_lv_size: 100%FREE
|
||||||
fs_type: ext4
|
make_lv_fs_type: ext4
|
||||||
storage_mountpoint: "/mnt"
|
make_lv_storage_mountpoint: "/mnt"
|
||||||
storage_mountpoint_mode: "0775"
|
make_lv_storage_mountpoint_mode: "0775"
|
||||||
mountpoint_owner: root
|
make_lv_mountpoint_owner: root
|
||||||
mountpoint_group: root
|
make_lv_mountpoint_group: root
|
||||||
is_container: false # disables udev in LVM if true
|
make_lv_is_container: false # disables udev in LVM if true
|
||||||
```
|
```
|
||||||
|
|
||||||
Minimal variables
|
Minimal variables
|
||||||
@@ -48,13 +48,13 @@ roles:
|
|||||||
|
|
||||||
Defaults
|
Defaults
|
||||||
```yaml
|
```yaml
|
||||||
size: 100%FREE
|
make_lv_size: 100%FREE
|
||||||
fs_type: ext4
|
make_lv_fs_type: ext4
|
||||||
storage_mountpoint: "/mnt"
|
make_lv_storage_mountpoint: "/mnt"
|
||||||
storage_mountpoint_mode: "0775"
|
make_lv_storage_mountpoint_mode: "0775"
|
||||||
mountpoint_owner: root
|
make_lv_mountpoint_owner: root
|
||||||
mountpoint_group: root
|
make_lv_mountpoint_group: root
|
||||||
is_container: false # disables udev in LVM if true
|
make_lv_is_container: false # disables udev in LVM if true
|
||||||
```
|
```
|
||||||
|
|
||||||
License
|
License
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
size: 100%FREE
|
make_lv_size: 100%FREE
|
||||||
fs_type: ext4
|
make_lv_fs_type: ext4
|
||||||
storage_mountpoint: "/mnt"
|
make_lv_storage_mountpoint: "/mnt"
|
||||||
storage_mountpoint_mode: "0775"
|
make_lv_storage_mountpoint_mode: "0775"
|
||||||
mountpoint_owner: root
|
make_lv_mountpoint_owner: root
|
||||||
mountpoint_group: root
|
make_lv_mountpoint_group: root
|
||||||
is_container: false
|
make_lv_is_container: false
|
||||||
|
|||||||
@@ -5,33 +5,33 @@
|
|||||||
- name: Get /root/image.img stats
|
- name: Get /root/image.img stats
|
||||||
ansible.builtin.stat:
|
ansible.builtin.stat:
|
||||||
path: /root/image.img
|
path: /root/image.img
|
||||||
register: img_stat
|
register: make_lv_img_stat
|
||||||
|
|
||||||
- name: Create image file
|
- name: Create image file
|
||||||
when: not img_stat.stat.exists
|
when: not make_lv_img_stat.stat.exists
|
||||||
ansible.builtin.command: dd if=/dev/zero of=/root/image.img bs=1M count=128
|
ansible.builtin.command: dd if=/dev/zero of=/root/image.img bs=1M count=128
|
||||||
register: dd_result
|
register: make_lv_dd_result
|
||||||
changed_when: dd_result.rc == 0
|
changed_when: make_lv_dd_result.rc == 0
|
||||||
|
|
||||||
- name: Get linked loop devices
|
- name: Get linked loop devices
|
||||||
ansible.builtin.command: losetup -a
|
ansible.builtin.command: losetup -a
|
||||||
changed_when: false
|
changed_when: false
|
||||||
register: loop_devs
|
register: make_lv_loop_devs
|
||||||
|
|
||||||
- name: Link image to loop device
|
- name: Link image to loop device
|
||||||
when: "'/root/image.img' not in loop_devs.stdout"
|
when: "'/root/image.img' not in make_lv_loop_devs.stdout"
|
||||||
ansible.builtin.command: losetup --find --show -P /root/image.img
|
ansible.builtin.command: losetup --find --show -P /root/image.img
|
||||||
register: loop_device
|
register: make_lv_loop_device
|
||||||
changed_when: "'/dev/loop' in loop_device.stdout"
|
changed_when: "'/dev/loop' in make_lv_loop_device.stdout"
|
||||||
|
|
||||||
- name: Get all loop devices
|
- name: Get all loop devices
|
||||||
ansible.builtin.command: losetup -a
|
ansible.builtin.command: losetup -a
|
||||||
register: losetup_out
|
register: make_lv_losetup_out
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
||||||
- name: Find line with /root/image.img
|
- name: Find line with /root/image.img
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
matched_line: "{{ losetup_out.stdout_lines
|
make_lv_matched_line: "{{ make_lv_losetup_out.stdout_lines
|
||||||
| select('search', '/root/image.img')
|
| select('search', '/root/image.img')
|
||||||
| list
|
| list
|
||||||
| first
|
| first
|
||||||
@@ -39,22 +39,22 @@
|
|||||||
|
|
||||||
- name: Extract loop device name (/dev/loopN)
|
- name: Extract loop device name (/dev/loopN)
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
loop_dev: "{{ matched_line | regex_search('(/dev/loop[0-9]+)', '\\1') | default('') }}"
|
make_lv_loop_dev: "{{ make_lv_matched_line | regex_search('(/dev/loop[0-9]+)', '\\1') | default('') }}"
|
||||||
|
|
||||||
- name: Debug result
|
- name: Debug result
|
||||||
ansible.builtin.debug:
|
ansible.builtin.debug:
|
||||||
msg: "/root/image.img is linked to {{ loop_dev[0] }}"
|
msg: "/root/image.img is linked to {{ make_lv_loop_dev[0] }}"
|
||||||
when: loop_dev != ''
|
when: make_lv_loop_dev != ''
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- role: genlab.make_lv
|
- role: genlab.common.make_lv
|
||||||
virtual_group: "group"
|
virtual_group: "group"
|
||||||
logical_volume: "volume"
|
logical_volume: "volume"
|
||||||
lvm_dev: "{{ loop_dev[0] }}"
|
lvm_dev: "{{ make_lv_loop_dev[0] }}"
|
||||||
size: 100%FREE
|
make_lv_size: 100%FREE
|
||||||
fs_type: ext4
|
make_lv_fs_type: ext4
|
||||||
storage_mountpoint: "/mnt"
|
make_lv_storage_mountpoint: "/mnt"
|
||||||
storage_mountpoint_mode: "0755"
|
make_lv_storage_mountpoint_mode: "0755"
|
||||||
mountpoint_owner: root
|
make_lv_mountpoint_owner: root
|
||||||
mountpoint_group: root
|
make_lv_mountpoint_group: root
|
||||||
is_container: true
|
make_lv_is_container: true
|
||||||
|
|||||||
@@ -7,8 +7,8 @@
|
|||||||
virtual_group: "group"
|
virtual_group: "group"
|
||||||
logical_volume: "volume"
|
logical_volume: "volume"
|
||||||
lvm_dev: "/dev/loop0"
|
lvm_dev: "/dev/loop0"
|
||||||
fs_type: ext4
|
make_lv_fs_type: ext4
|
||||||
storage_mountpoint: "/mnt"
|
make_lv_storage_mountpoint: "/mnt"
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Get volume group list
|
- name: Get volume group list
|
||||||
@@ -17,11 +17,11 @@
|
|||||||
executable: /bin/bash
|
executable: /bin/bash
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: false
|
failed_when: false
|
||||||
register: vg_list
|
register: make_lv_vg_list
|
||||||
|
|
||||||
- name: Assert that volume group exists
|
- name: Assert that volume group exists
|
||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
that: virtual_group in vg_list.stdout
|
that: virtual_group in make_lv_vg_list.stdout
|
||||||
success_msg: "{{ lvm_dev }} has {{ virtual_group }} group"
|
success_msg: "{{ lvm_dev }} has {{ virtual_group }} group"
|
||||||
fail_msg: "{{ lvm_dev }} DOES NOT have {{ virtual_group }} group"
|
fail_msg: "{{ lvm_dev }} DOES NOT have {{ virtual_group }} group"
|
||||||
|
|
||||||
@@ -31,11 +31,11 @@
|
|||||||
executable: /bin/bash
|
executable: /bin/bash
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: false
|
failed_when: false
|
||||||
register: lv_list
|
register: make_lv_lv_list
|
||||||
|
|
||||||
- name: Assert that logical volume exists
|
- name: Assert that logical volume exists
|
||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
that: logical_volume in lv_list.stdout
|
that: logical_volume in make_lv_lv_list.stdout
|
||||||
success_msg: "{{ virtual_group }} has {{ logical_volume }} volume"
|
success_msg: "{{ virtual_group }} has {{ logical_volume }} volume"
|
||||||
fail_msg: "{{ virtual_group }} DOES NOT have {{ logical_volume }} volume"
|
fail_msg: "{{ virtual_group }} DOES NOT have {{ logical_volume }} volume"
|
||||||
|
|
||||||
@@ -43,23 +43,23 @@
|
|||||||
ansible.builtin.command: "blkid /dev/mapper/{{ virtual_group }}-{{ logical_volume }} -o value -s TYPE"
|
ansible.builtin.command: "blkid /dev/mapper/{{ virtual_group }}-{{ logical_volume }} -o value -s TYPE"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: false
|
failed_when: false
|
||||||
register: current_fs
|
register: make_lv_current_fs
|
||||||
|
|
||||||
- name: Assert that current filesystem is the required one
|
- name: Assert that current filesystem is the required one
|
||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
that: current_fs.stdout == fs_type
|
that: make_lv_current_fs.stdout == make_lv_fs_type
|
||||||
success_msg: "{{ virtual_group }} - {{ logical_volume }} has {{ fs_type }} filesystem"
|
success_msg: "{{ virtual_group }} - {{ logical_volume }} has {{ make_lv_fs_type }} filesystem"
|
||||||
fail_msg: "{{ virtual_group }} - {{ logical_volume }} DOES NOT have {{ fs_type }} filesystem"
|
fail_msg: "{{ virtual_group }} - {{ logical_volume }} DOES NOT have {{ make_lv_fs_type }} filesystem"
|
||||||
|
|
||||||
- name: Get logical volume mount info # noqa: command-instead-of-module — tells ansible-lint to ignore the error, because you can't actually
|
- name: Get logical volume mount info # noqa: command-instead-of-module — tells ansible-lint to ignore the error, because you can't actually
|
||||||
# do it with ansible.builtin.mount as the linter begs me to do
|
# do it with ansible.builtin.mount as the linter begs me to do
|
||||||
ansible.builtin.shell: "mount | grep -w '{{ virtual_group }}-{{ logical_volume }}'"
|
ansible.builtin.shell: "mount | grep -w '{{ virtual_group }}-{{ logical_volume }}'"
|
||||||
register: mount_check
|
register: make_lv_mount_check
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
||||||
- name: Assert that volume is mounted
|
- name: Assert that volume is mounted
|
||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
that: mount_check.rc == 0
|
that: make_lv_mount_check.rc == 0
|
||||||
success_msg: "{{ virtual_group }}-{{ logical_volume }} is mounted at {{ storage_mountpoint }}"
|
success_msg: "{{ virtual_group }}-{{ logical_volume }} is mounted at {{ make_lv_storage_mountpoint }}"
|
||||||
fail_msg: "{{ virtual_group }}-{{ logical_volume }} IS NOT mounted at {{ storage_mountpoint }}"
|
fail_msg: "{{ virtual_group }}-{{ logical_volume }} IS NOT mounted at {{ make_lv_storage_mountpoint }}"
|
||||||
|
|||||||
@@ -13,11 +13,11 @@
|
|||||||
executable: /bin/bash
|
executable: /bin/bash
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: false
|
failed_when: false
|
||||||
register: vg_list
|
register: make_lv_vg_list
|
||||||
|
|
||||||
- name: Assert that volume group exists
|
- name: Assert that volume group exists
|
||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
that: virtual_group in vg_list.stdout
|
that: virtual_group in make_lv_vg_list.stdout
|
||||||
success_msg: "{{ lvm_dev }} has {{ virtual_group }} group"
|
success_msg: "{{ lvm_dev }} has {{ virtual_group }} group"
|
||||||
fail_msg: "{{ lvm_dev }} DOES NOT have {{ virtual_group }} group"
|
fail_msg: "{{ lvm_dev }} DOES NOT have {{ virtual_group }} group"
|
||||||
|
|
||||||
@@ -27,11 +27,11 @@
|
|||||||
executable: /bin/bash
|
executable: /bin/bash
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: false
|
failed_when: false
|
||||||
register: lv_list
|
register: make_lv_lv_list
|
||||||
|
|
||||||
- name: Assert that logical volume exists
|
- name: Assert that logical volume exists
|
||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
that: logical_volume in lv_list.stdout
|
that: logical_volume in make_lv_lv_list.stdout
|
||||||
success_msg: "{{ virtual_group }} has {{ logical_volume }} volume"
|
success_msg: "{{ virtual_group }} has {{ logical_volume }} volume"
|
||||||
fail_msg: "{{ virtual_group }} DOES NOT have {{ logical_volume }} volume"
|
fail_msg: "{{ virtual_group }} DOES NOT have {{ logical_volume }} volume"
|
||||||
|
|
||||||
@@ -39,25 +39,25 @@
|
|||||||
ansible.builtin.command: "blkid /dev/mapper/{{ virtual_group }}-{{ logical_volume }} -o value -s TYPE"
|
ansible.builtin.command: "blkid /dev/mapper/{{ virtual_group }}-{{ logical_volume }} -o value -s TYPE"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
failed_when: false
|
failed_when: false
|
||||||
register: current_fs
|
register: make_lv_current_fs
|
||||||
|
|
||||||
- name: Assert that current filesystem is the required one
|
- name: Assert that current filesystem is the required one
|
||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
that: current_fs.stdout == fs_type
|
that: make_lv_current_fs.stdout == make_lv_fs_type
|
||||||
success_msg: "{{ virtual_group }} - {{ logical_volume }} has {{ fs_type }} filesystem"
|
success_msg: "{{ virtual_group }} - {{ logical_volume }} has {{ make_lv_fs_type }} filesystem"
|
||||||
fail_msg: "{{ virtual_group }} - {{ logical_volume }} DOES NOT have {{ fs_type }} filesystem"
|
fail_msg: "{{ virtual_group }} - {{ logical_volume }} DOES NOT have {{ make_lv_fs_type }} filesystem"
|
||||||
|
|
||||||
rescue:
|
rescue:
|
||||||
- name: Unmount the main storage
|
- name: Unmount the main storage
|
||||||
ansible.posix.mount:
|
ansible.posix.mount:
|
||||||
src: "/dev/{{ virtual_group }}/{{ logical_volume }}"
|
src: "/dev/{{ virtual_group }}/{{ logical_volume }}"
|
||||||
path: "{{ storage_mountpoint }}"
|
path: "{{ make_lv_storage_mountpoint }}"
|
||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
- name: Wipe disk signatures
|
- name: Wipe disk signatures
|
||||||
ansible.builtin.command: "wipefs -af {{ lvm_dev }}"
|
ansible.builtin.command: "wipefs -af {{ lvm_dev }}"
|
||||||
register: wipefs_result
|
register: make_lv_wipefs_result
|
||||||
changed_when: wipefs_result.rc == 0
|
changed_when: make_lv_wipefs_result.rc == 0
|
||||||
|
|
||||||
- name: Create a volume group for the storage
|
- name: Create a volume group for the storage
|
||||||
community.general.lvg:
|
community.general.lvg:
|
||||||
@@ -66,37 +66,37 @@
|
|||||||
force: true
|
force: true
|
||||||
|
|
||||||
- name: Create a logical volume for the storage
|
- name: Create a logical volume for the storage
|
||||||
when: is_container
|
when: make_lv_is_container
|
||||||
community.general.lvol:
|
community.general.lvol:
|
||||||
vg: "{{ virtual_group }}"
|
vg: "{{ virtual_group }}"
|
||||||
lv: "{{ logical_volume }}"
|
lv: "{{ logical_volume }}"
|
||||||
size: "{{ size }}"
|
size: "{{ make_lv_size }}"
|
||||||
opts: "--config 'activation/udev_rules=0'"
|
opts: "--config 'activation/udev_rules=0'"
|
||||||
|
|
||||||
- name: Create a logical volume for the storage
|
- name: Create a logical volume for the storage
|
||||||
when: not is_container
|
when: not make_lv_is_container
|
||||||
community.general.lvol:
|
community.general.lvol:
|
||||||
vg: "{{ virtual_group }}"
|
vg: "{{ virtual_group }}"
|
||||||
lv: "{{ logical_volume }}"
|
lv: "{{ logical_volume }}"
|
||||||
size: "{{ size }}"
|
size: "{{ make_lv_size }}"
|
||||||
opts: "--config 'activation/udev_rules=1'"
|
opts: "--config 'activation/udev_rules=1'"
|
||||||
|
|
||||||
- name: Create a filesystem for the storage
|
- name: Create a filesystem for the storage
|
||||||
community.general.filesystem:
|
community.general.filesystem:
|
||||||
dev: "/dev/{{ virtual_group }}/{{ logical_volume }}"
|
dev: "/dev/{{ virtual_group }}/{{ logical_volume }}"
|
||||||
fstype: "{{ fs_type }}"
|
fstype: "{{ make_lv_fs_type }}"
|
||||||
|
|
||||||
- name: Create a mountpoint for the storage
|
- name: Create a mountpoint for the storage
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
path: "{{ storage_mountpoint }}"
|
path: "{{ make_lv_storage_mountpoint }}"
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ mountpoint_owner }}"
|
owner: "{{ make_lv_mountpoint_owner }}"
|
||||||
group: "{{ mountpoint_group }}"
|
group: "{{ make_lv_mountpoint_group }}"
|
||||||
mode: "{{ storage_mountpoint_mode }}"
|
mode: "{{ make_lv_storage_mountpoint_mode }}"
|
||||||
|
|
||||||
- name: Mount the main storage
|
- name: Mount the main storage
|
||||||
ansible.posix.mount:
|
ansible.posix.mount:
|
||||||
src: "/dev/{{ virtual_group }}/{{ logical_volume }}"
|
src: "/dev/{{ virtual_group }}/{{ logical_volume }}"
|
||||||
path: "{{ storage_mountpoint }}"
|
path: "{{ make_lv_storage_mountpoint }}"
|
||||||
fstype: "{{ fs_type }}"
|
fstype: "{{ make_lv_fs_type }}"
|
||||||
state: mounted
|
state: mounted
|
||||||
|
|||||||
Reference in New Issue
Block a user