mirror of
https://github.com/mrlesmithjr/ansible-manage-lvm.git
synced 2025-12-14 22:04:48 +03:00
configured molecule and fix xfs on centos
This commit is contained in:
@@ -1,3 +1,2 @@
|
|||||||
---
|
---
|
||||||
# handlers file for ansible-manage-lvm
|
# handlers file for ansible-manage-lvm
|
||||||
|
|
||||||
|
|||||||
@@ -13,10 +13,12 @@
|
|||||||
opts: "--wipesignatures y"
|
opts: "--wipesignatures y"
|
||||||
create: true
|
create: true
|
||||||
filesystem: ext4
|
filesystem: ext4
|
||||||
|
mount: true
|
||||||
mntp: "/var/lib/mountpoint"
|
mntp: "/var/lib/mountpoint"
|
||||||
- lvname: my_lv2
|
- lvname: my_lv2
|
||||||
size: 10%VG
|
size: 20%VG
|
||||||
opts: "--wipesignatures y"
|
opts: "--wipesignatures y"
|
||||||
|
mount: true
|
||||||
create: true
|
create: true
|
||||||
filesystem: xfs
|
filesystem: xfs
|
||||||
mntp: "/var/lib/mountpoint2"
|
mntp: "/var/lib/mountpoint2"
|
||||||
|
|||||||
Binary file not shown.
93
tasks/create_fs.yml
Normal file
93
tasks/create_fs.yml
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: manage_lvm | creating new filesystem on new LVM logical volume(s)
|
||||||
|
filesystem:
|
||||||
|
fstype: "{{ lv.filesystem }}"
|
||||||
|
dev: "/dev/{{ vg.vgname }}/{{ lv.lvname }}"
|
||||||
|
resizefs: yes
|
||||||
|
loop: "{{ vg.lvnames }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: lv
|
||||||
|
become: true
|
||||||
|
when: >
|
||||||
|
(
|
||||||
|
(vg.create is defined and
|
||||||
|
vg.create) and
|
||||||
|
(lv is defined and
|
||||||
|
lv != 'None') and
|
||||||
|
(lv.create is defined and
|
||||||
|
lv.create) and
|
||||||
|
(
|
||||||
|
lv.filesystem is defined and
|
||||||
|
lv.filesystem != 'None' and
|
||||||
|
lv.filesystem != 'xfs'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
# unable to resize xfs: looks like we've to reference the mountpoint instead of the device
|
||||||
|
|
||||||
|
- name: manage_lvm | creating new xfs filesystem on new LVM logical volume(s)
|
||||||
|
filesystem:
|
||||||
|
fstype: "{{ lv.filesystem }}"
|
||||||
|
dev: "/dev/{{ vg.vgname }}/{{ lv.lvname }}"
|
||||||
|
loop: "{{ vg.lvnames }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: lv
|
||||||
|
become: true
|
||||||
|
when: >
|
||||||
|
(
|
||||||
|
(vg.create is defined and
|
||||||
|
vg.create) and
|
||||||
|
(lv is defined and
|
||||||
|
lv != 'None') and
|
||||||
|
(lv.create is defined and
|
||||||
|
lv.create) and
|
||||||
|
(
|
||||||
|
lv.filesystem is defined and
|
||||||
|
lv.filesystem == 'xfs'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
# unable to resize xfs: looks like we've to reference the mountpoint instead of the device
|
||||||
|
|
||||||
|
- name: manage_lvm | unmounting filesystem(s)
|
||||||
|
mount:
|
||||||
|
path: "{{ lv.mntp }}"
|
||||||
|
src: "/dev/{{ vg.vgname }}/{{ lv.lvname }}"
|
||||||
|
fstype: "{{ lv.filesystem | default(omit) }}"
|
||||||
|
state: "absent"
|
||||||
|
become: true
|
||||||
|
loop: "{{ vg.lvnames }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: lv
|
||||||
|
when: >
|
||||||
|
(lv is defined and
|
||||||
|
lv != 'None') and
|
||||||
|
(lv.create is defined and
|
||||||
|
not lv.create and
|
||||||
|
lv.filesystem != "swap")
|
||||||
|
|
||||||
|
- name: "debug mount"
|
||||||
|
loop: "{{ vg.lvnames }}"
|
||||||
|
debug: var=lv
|
||||||
|
loop_control:
|
||||||
|
loop_var: lv
|
||||||
|
|
||||||
|
|
||||||
|
- name: manage_lvm | mounting new filesystem(s)
|
||||||
|
mount:
|
||||||
|
path: "{{ lv.mntp }}"
|
||||||
|
src: "/dev/{{ vg.vgname }}/{{ lv.lvname }}"
|
||||||
|
fstype: "{{ lv.filesystem }}"
|
||||||
|
state: "mounted"
|
||||||
|
opts: "{{ lv.mopts | default('defaults') }}"
|
||||||
|
become: true
|
||||||
|
loop: "{{ vg.lvnames }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: lv
|
||||||
|
when: >
|
||||||
|
((vg.create is defined and
|
||||||
|
vg.create) and
|
||||||
|
lv != 'None' and
|
||||||
|
(lv.create is defined and
|
||||||
|
lv.create) and
|
||||||
|
(lv.mount is defined and
|
||||||
|
lv.mount))
|
||||||
@@ -1,40 +1,30 @@
|
|||||||
---
|
---
|
||||||
|
- debug: var=vg
|
||||||
|
|
||||||
|
- name: "debug lvm"
|
||||||
|
loop: "{{ vg.lvnames }}"
|
||||||
|
debug: var=lv
|
||||||
|
loop_control:
|
||||||
|
loop_var: lv
|
||||||
|
|
||||||
- name: manage_lvm | creating new LVM logical volume(s)
|
- name: manage_lvm | creating new LVM logical volume(s)
|
||||||
lvol:
|
lvol:
|
||||||
vg: "{{ vg.0.vgname }}"
|
vg: "{{ vg.vgname }}"
|
||||||
lv: "{{ vg.1.lvname'] }}"
|
lv: "{{ lv.lvname }}"
|
||||||
size: "{{ vg.1.size }}"
|
size: "{{ lv.size }}"
|
||||||
shrink: no
|
shrink: no
|
||||||
opts: "{{ vg.1.opts | default('') }}"
|
opts: "{{ lv.opts | default('') }}"
|
||||||
state: "present"
|
state: "present"
|
||||||
|
loop: "{{ vg.lvnames }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: lv
|
||||||
become: true
|
become: true
|
||||||
when: >
|
when: >
|
||||||
(
|
(
|
||||||
(vg.0.create is defined
|
(vg.create is defined
|
||||||
and vg.0.create) and
|
and vg.create) and
|
||||||
(vg[1] is defined and
|
(lv is defined and
|
||||||
vg.1 != 'None') and
|
lv != 'None') and
|
||||||
(vg.1.create is defined and
|
(lv.create is defined and
|
||||||
vg.1.create)
|
lv.create)
|
||||||
)
|
|
||||||
|
|
||||||
- name: manage_lvm | creating new filesystem on new LVM logical volume(s)
|
|
||||||
filesystem:
|
|
||||||
fstype: "{{ vg.1.filesystem }}"
|
|
||||||
dev: "/dev/{{ vg.0.vgname }}/{{ vg.1.lvname }}"
|
|
||||||
resizefs: yes
|
|
||||||
become: true
|
|
||||||
when: >
|
|
||||||
(
|
|
||||||
(vg.0.create is defined and
|
|
||||||
vg.0.create) and
|
|
||||||
(vg[1] is defined and
|
|
||||||
vg.1 != 'None') and
|
|
||||||
(vg.1.create is defined and
|
|
||||||
vg.1.create) and
|
|
||||||
(
|
|
||||||
vg.1.filesystem is defined and
|
|
||||||
vg.1.filesystem != 'None'
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -2,59 +2,31 @@
|
|||||||
- name: manage_lvm | manage physical volume group creation
|
- name: manage_lvm | manage physical volume group creation
|
||||||
include: create_vg.yml
|
include: create_vg.yml
|
||||||
|
|
||||||
- name: manage_lvm | loop over logical volume(s)
|
- name: manage_lvm | loop over logical volume group(s) to create logical volumes
|
||||||
include: create_lv.yml
|
include: create_lv.yml
|
||||||
loop: "{{ lvm_groups }}"
|
loop: "{{ lvm_groups }}"
|
||||||
loop_control:
|
loop_control:
|
||||||
loop_var: vg
|
loop_var: vg
|
||||||
|
|
||||||
- name: manage_lvm | unmounting filesystem(s)
|
- name: manage_lvm | loop over logical volume group(s) to create filesystems
|
||||||
mount:
|
include: create_fs.yml
|
||||||
name: "{{ item.1.mntp }}"
|
loop: "{{ lvm_groups }}"
|
||||||
src: "/dev/{{ item.0.vgname }}/{{ item.1.lvname }}"
|
loop_control:
|
||||||
fstype: "{{ item.1.filesystem | default(omit) }}"
|
loop_var: vg
|
||||||
state: "absent"
|
|
||||||
become: true
|
|
||||||
loop: "{{ lvm_groups|subelements('lvnames') }}"
|
|
||||||
when: >
|
|
||||||
(item.1 is defined and
|
|
||||||
item.1 != 'None') and
|
|
||||||
(item.1.create is defined and
|
|
||||||
not item.1.create and
|
|
||||||
item.1.filesystem != "swap")
|
|
||||||
|
|
||||||
- name: manage_lvm | mounting new filesystem(s)
|
|
||||||
mount:
|
|
||||||
name: "{{ item.1.mntp }}"
|
|
||||||
src: "/dev/{{ item.0.vgname }}/{{ item.1.lvname }}"
|
|
||||||
fstype: "{{ item.1.filesystem }}"
|
|
||||||
state: "mounted"
|
|
||||||
opts: "{{ item.1.mopts | default('defaults') }}"
|
|
||||||
become: true
|
|
||||||
loop: "{{ lvm_groups|subelements('lvnames') }}"
|
|
||||||
when: >
|
|
||||||
((item.0.create is defined and
|
|
||||||
item.0.create) and
|
|
||||||
(item.1 is defined and
|
|
||||||
item.1 != 'None') and
|
|
||||||
(item.1.create is defined and
|
|
||||||
item.1.create) and
|
|
||||||
(item.1.mount is defined and
|
|
||||||
item.1.mount))
|
|
||||||
|
|
||||||
- name: manage_lvm | Removing LVM logical volume(s)
|
- name: manage_lvm | Removing LVM logical volume(s)
|
||||||
lvol:
|
lvol:
|
||||||
vg: "{{ item.0.vgname }}"
|
vg: "{{ item.vgname }}"
|
||||||
lv: "{{ item.1.lvname }}"
|
lv: "{{ item.0.lvname }}"
|
||||||
state: "absent"
|
state: "absent"
|
||||||
force: yes
|
force: yes
|
||||||
become: true
|
become: true
|
||||||
loop: "{{ lvm_groups|subelements('lvnames') }}"
|
loop: "{{ lvm_groups|subelements('lvnames') }}"
|
||||||
when: >
|
when: >
|
||||||
(item.1 is defined and
|
(item.0 is defined and
|
||||||
item.1 != 'None') and
|
item.0 != 'None') and
|
||||||
(item.1.create is defined and
|
(item.0.create is defined and
|
||||||
not item.1.create)
|
not item.0.create)
|
||||||
|
|
||||||
- name: manage_lvm | Removing LVM volume group(s)
|
- name: manage_lvm | Removing LVM volume group(s)
|
||||||
lvg:
|
lvg:
|
||||||
|
|||||||
Reference in New Issue
Block a user