Addresses issue #10

Signed-off-by: Larry Smith Jr <mrlesmithjr@gmail.com>
This commit is contained in:
Larry Smith Jr
2017-06-11 14:57:53 -04:00
parent 26ed7d826c
commit 386cc28bdb
7 changed files with 295 additions and 274 deletions
+11 -7
View File
@@ -1,19 +1,23 @@
---
- name: centos | installing lvm2
yum:
name: lvm2
state: present
name: "lvm2"
state: "present"
become: true
- name: centos | installing sg3_utils
yum:
name: sg3_utils
state: present
name: "sg3_utils"
state: "present"
become: true
- name: centos | checking for scsi devices
shell: sg_scan
register: scsi_devices
shell: "sg_scan"
become: true
register: "scsi_devices"
changed_when: False
- name: centos | rescanning for new disks
command: /usr/bin/rescan-scsi-bus.sh
command: "/usr/bin/rescan-scsi-bus.sh"
become: true
changed_when: False
+11 -8
View File
@@ -2,18 +2,21 @@
- name: debian | installing pre-reqs
apt:
name: "{{ item }}"
state: present
state: "present"
become: true
with_items:
- lvm2
- scsitools
- xfsprogs
- 'lvm2'
- 'scsitools'
- 'xfsprogs'
- name: debian | checking for scsi devices
shell: sg_scan
register: scsi_devices
shell: "sg_scan"
become: true
register: "scsi_devices"
changed_when: False
- name: debian | rescanning for new disks added
command: /sbin/rescan-scsi-bus
command: "/sbin/rescan-scsi-bus"
become: true
changed_when: False
when: scsi_devices.stdout != ""
when: scsi_devices['stdout'] != ""
+3 -1
View File
@@ -7,4 +7,6 @@
when: ansible_os_family == "RedHat"
- include: manage_lvm.yml
when: manage_lvm is defined and manage_lvm
when: >
manage_lvm and
lvm_groups is defined
+91 -38
View File
@@ -1,100 +1,153 @@
---
- name: manage_lvm | creating new LVM volume group(s)
lvg:
vg: "{{ item.vgname }}"
pvs: "{{ item.disks }}"
state: present
vg: "{{ item['vgname'] }}"
pvs: "{{ item['disks']|join(',') }}"
state: "present"
become: true
with_items: "{{ lvm_groups }}"
when: item.create is defined and item.create
when: >
(item['create'] is defined and
item['create'])
- name: manage_lvm | creating new LVM logical volume(s)
lvol:
vg: "{{ item.0.vgname }}"
lv: "{{ item.1.lvname }}"
size: "{{ item.1.size }}"
vg: "{{ item[0]['vgname'] }}"
lv: "{{ item[1]['lvname'] }}"
size: "{{ item[1]['size'] }}"
shrink: no
state: present
state: "present"
become: true
register: lvm
with_subelements:
- "{{ lvm_groups }}"
- 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 )
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']))
- name: manage_lvm | creating new filesystem on new LVM logical volume(s)
filesystem:
fstype: "{{ item.1.filesystem }}"
dev: "/dev/{{ item.0.vgname }}/{{ item.1.lvname }}"
fstype: "{{ item[1]['filesystem'] }}"
dev: "/dev/{{ item[0]['vgname'] }}/{{ item[1]['lvname'] }}"
# resizefs: yes #coming in 2.0 which will replace the resizing filesystem task below
become: true
with_subelements:
- "{{ lvm_groups }}"
- 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 )
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']))
- 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
name: "{{ item[1]['mntp'] }}"
src: "/dev/{{ item[0]['vgname'] }}/{{ item[1]['lvname'] }}"
fstype: "{{ item[1]['filesystem'] }}"
state: "mounted"
become: true
with_subelements:
- "{{ lvm_groups }}"
- 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 )
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 | resizing filesystem
command: resize2fs /dev/{{ item.0.vgname }}/{{ item.1.lvname }}
command: resize2fs /dev/{{ item[0]['vgname'] }}/{{ item[1]['lvname'] }}
become: true
with_subelements:
- "{{ lvm_groups }}"
- lvnames
when: lvm.changed and item.1.filesystem != "swap" and item.1.filesystem != "xfs" and item.1.filesystem != "btrfs"
when: >
lvm['changed'] and
item[1]['filesystem'] != "swap" and
item[1]['filesystem'] != "xfs" and
item[1]['filesystem'] != "btrfs"
- name: manage_lvm | resizing xfs
command: xfs_growfs -d /dev/{{ item.0.vgname }}/{{ item.1.lvname }}
command: xfs_growfs -d /dev/{{ item[0]['vgname'] }}/{{ item[1]['lvname'] }}
become: true
with_subelements:
- "{{ lvm_groups }}"
- lvnames
when: lvm.changed and item.1.filesystem == "xfs"
when: >
lvm['changed'] and
item[1]['filesystem'] == "xfs"
- name: manage_lvm | resizing swap
shell: "swapoff -a && mkswap /dev/{{ item.0.vgname }}/{{ item.1.lvname }} && swapon -va"
shell: "swapoff -a && mkswap /dev/{{ item[0]['vgname'] }}/{{ item[1]['lvname'] }} && swapon -va"
become: true
with_subelements:
- "{{ lvm_groups }}"
- lvnames
when: lvm.changed and item.1.filesystem == "swap"
when: >
lvm['changed'] and
item[1]['filesystem'] == "swap"
- name: manage_lvm | resizing btrfs
shell: "btrfs filesystem resize max {{ item.1.mntp }}"
shell: "btrfs filesystem resize max {{ item[1]['mntp'] }}"
become: true
with_subelements:
- "{{ lvm_groups }}"
- lvnames
when: lvm.changed and item.1.filesystem == "btrfs"
when: >
lvm['changed'] and
item[1]['filesystem'] == "btrfs"
- name: manage_lvm | unmounting filesystem(s)
mount:
name: "{{ item.1.mntp }}"
src: "/dev/{{ item.0.vgname }}/{{ item.1.lvname }}"
fstype: "{{ item.1.filesystem }}"
state: absent
name: "{{ item[1]['mntp'] }}"
src: "/dev/{{ item[0]['vgname'] }}/{{ item[1]['lvname'] }}"
fstype: "{{ item[1]['filesystem'] }}"
state: "absent"
become: true
with_subelements:
- "{{ lvm_groups }}"
- lvnames
when: ( item.1 is defined and item.1 != 'None' ) and ( item.1.create is defined and not item.1.create )
when: >
(item[1] is defined and
item[1] != 'None') and
(item[1]['create'] is defined and
not item[1]['create'])
- name: manage_lvm | Removing LVM logical volume(s)
lvol:
vg: "{{ item.0.vgname }}"
lv: "{{ item.1.lvname }}"
state: absent
vg: "{{ item[0]['vgname'] }}"
lv: "{{ item[1]['lvname'] }}"
state: "absent"
force: yes
become: true
with_subelements:
- "{{ lvm_groups }}"
- lvnames
when: ( item.1 is defined and item.1 != 'None' ) and ( item.1.create is defined and not item.1.create )
when: >
(item[1] is defined and
item[1] != 'None') and
(item[1]['create'] is defined and
not item[1]['create'])
- name: manage_lvm | Removing LVM volume group(s)
lvg:
vg: "{{ item.vgname }}"
pvs: "{{ item.disks }}"
state: absent
vg: "{{ item['vgname'] }}"
pvs: "{{ item['disks']|join(',') }}"
state: "absent"
become: true
with_items: "{{ lvm_groups }}"
when: item.create is defined and not item.create
when: >
item['create'] is defined and
not item['create']