mirror of
https://github.com/mrlesmithjr/ansible-manage-lvm.git
synced 2025-12-14 13:54:58 +03:00
configured molecule and fix xfs on centos
This commit is contained in:
@@ -1,3 +1,2 @@
|
||||
---
|
||||
# handlers file for ansible-manage-lvm
|
||||
|
||||
|
||||
@@ -13,10 +13,12 @@
|
||||
opts: "--wipesignatures y"
|
||||
create: true
|
||||
filesystem: ext4
|
||||
mount: true
|
||||
mntp: "/var/lib/mountpoint"
|
||||
- lvname: my_lv2
|
||||
size: 10%VG
|
||||
size: 20%VG
|
||||
opts: "--wipesignatures y"
|
||||
mount: true
|
||||
create: true
|
||||
filesystem: xfs
|
||||
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)
|
||||
lvol:
|
||||
vg: "{{ vg.0.vgname }}"
|
||||
lv: "{{ vg.1.lvname'] }}"
|
||||
size: "{{ vg.1.size }}"
|
||||
vg: "{{ vg.vgname }}"
|
||||
lv: "{{ lv.lvname }}"
|
||||
size: "{{ lv.size }}"
|
||||
shrink: no
|
||||
opts: "{{ vg.1.opts | default('') }}"
|
||||
opts: "{{ lv.opts | default('') }}"
|
||||
state: "present"
|
||||
loop: "{{ vg.lvnames }}"
|
||||
loop_control:
|
||||
loop_var: lv
|
||||
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)
|
||||
)
|
||||
|
||||
- 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'
|
||||
)
|
||||
(vg.create is defined
|
||||
and vg.create) and
|
||||
(lv is defined and
|
||||
lv != 'None') and
|
||||
(lv.create is defined and
|
||||
lv.create)
|
||||
)
|
||||
|
||||
@@ -2,59 +2,31 @@
|
||||
- name: manage_lvm | manage physical volume group creation
|
||||
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
|
||||
loop: "{{ lvm_groups }}"
|
||||
loop_control:
|
||||
loop_var: vg
|
||||
|
||||
- name: manage_lvm | unmounting filesystem(s)
|
||||
mount:
|
||||
name: "{{ item.1.mntp }}"
|
||||
src: "/dev/{{ item.0.vgname }}/{{ item.1.lvname }}"
|
||||
fstype: "{{ item.1.filesystem | default(omit) }}"
|
||||
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 | loop over logical volume group(s) to create filesystems
|
||||
include: create_fs.yml
|
||||
loop: "{{ lvm_groups }}"
|
||||
loop_control:
|
||||
loop_var: vg
|
||||
|
||||
- name: manage_lvm | Removing LVM logical volume(s)
|
||||
lvol:
|
||||
vg: "{{ item.0.vgname }}"
|
||||
lv: "{{ item.1.lvname }}"
|
||||
vg: "{{ item.vgname }}"
|
||||
lv: "{{ item.0.lvname }}"
|
||||
state: "absent"
|
||||
force: yes
|
||||
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)
|
||||
(item.0 is defined and
|
||||
item.0 != 'None') and
|
||||
(item.0.create is defined and
|
||||
not item.0.create)
|
||||
|
||||
- name: manage_lvm | Removing LVM volume group(s)
|
||||
lvg:
|
||||
|
||||
Reference in New Issue
Block a user