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
+113 -71
View File
@@ -1,89 +1,131 @@
Role Name
=========
# Role Name
Role to manage LVM Groups/Logical Volumes. Can be used to create, extend or resize LVM Groups and volumes.
An [Ansible] role to manage LVM Groups/Logical Volumes.
Requirements
------------
> NOTE: Can be used to create, extend or resize LVM Groups and volumes.
Devices/disks to be part of the LVM setup must be identified prior to using this role. Ensure that you select the correct devices/disks.
##### To only create an LVM VG w/out creating LVM LVOLS...define lvname w/ var as None as in the below example.
## Requirements
Role Variables
--------------
Devices/disks to be members of the LVM setup **must be** identified prior to
using this role.
````
> NOTE: Ensure that you select the correct devices/disks.
>
> NOTE: To create an LVM VG w/out creating LVM LVOLS...define lvname w/ var as
> `None` as in the below example.
## Role Variables
```yaml
---
# defaults file for ansible-manage-lvm
lvm_groups:
- vgname: ubuntu-vg
disks: /dev/sda5,/dev/sdc,/dev/sdd #for multiple disks...../dev/sdb,/dev/sdc
create: true #defines if VG should exist or be removed....true or false
lvnames:
- lvname: swap_1
size: 5g #define size of lvol...100%FREE, 10g, 1024 (megabytes by default)
create: true #defines if lvol should exist or be removed...true or false
filesystem: swap #defines filesystem to format lvol as
mount: false #defines if filesystem should be mounted
mntp: [] #defines mountpoint for lvol
- lvname: root
size: 40g #define size of lvol...100%FREE, 10g, 1024 (megabytes by default)
create: true #defines if lvol should exist or be removed...true or false
filesystem: ext4 #defines filesystem to format lvol as
mount: true
mntp: / #defines mountpoint for lvol
- vgname: test-vg
disks: /dev/sdb #for multiple disks...../dev/sdb,/dev/sdc
create: true #defines if VG should exist or be removed....true or false
lvnames:
- lvname: test_1
size: 5g #define size of lvol...100%FREE, 10g, 1024 (megabytes by default)
create: true #defines if lvol should exist or be removed...true or false
filesystem: ext4 #defines filesystem to format lvol as
mount: true #defines if filesystem should be mounted
mntp: /mnt/test_1 #defines mountpoint for lvol
- lvname: test_2
size: 10g #define size of lvol...100%FREE, 10g, 1024 (megabytes by default)
create: true #defines if lvol should exist or be removed...true or false
filesystem: ext4 #defines filesystem to format lvol as
mount: true
mntp: /mnt/test_2 #defines mountpoint for lvol
# - vgname: cinder-volumes
# disks: /dev/cciss/c0d1 #for multiple disks...../dev/sdb,/dev/sdc
# create: true #defines if VG should exist or be removed....true or false
# lvnames:
# - None #set to None to only create LVM VG w/out creating LVM LVOLS...
manage_lvm: false #defines if LVM will be managed by role....default is false to ensure nothing is changed by accident.
````
lvm_groups: []
# - vgname: ubuntu-vg
# disks:
# - /dev/sda5
# - /dev/sdc
# - /dev/sdd
# # defines if VG should exist or be removed
# # true or false
# create: true
# lvnames:
# - lvname: swap_1
# # Define size of lvol
# # 100%FREE, 10g, 1024 (megabytes by default)
# size: 5g
# # Defines if lvol should exist or be removed
# # true or false
# create: true
# # Defines filesystem to format lvol as
# filesystem: swap
# # Defines if filesystem should be mounted
# mount: false
# # Defines mountpoint for lvol
# mntp: []
# - lvname: root
# size: 40g
# create: true
# filesystem: ext4
# mount: true
# mntp: /
# - vgname: test-vg
# disks:
# - /dev/sdb
# create: true
# lvnames:
# - lvname: test_1
# size: 5g
# create: true
# filesystem: ext4
# mount: true
# mntp: /mnt/test_1
# - lvname: test_2
# size: 10g
# create: true
# filesystem: ext4
# mount: true
# mntp: /mnt/test_2
# - vgname: cinder-volumes
# disks:
# - /dev/cciss/c0d1
# create: true
# lvnames:
# # Set to None to only create LVM VG w/out creating LVM LVOLS
# - None
Dependencies
------------
# Defines if LVM will be managed by role
# default is false to ensure nothing is changed by accident.
manage_lvm: false
```
## Dependencies
None
Example Playbook
----------------
## Example Playbook
#### Galaxy
-----------
- hosts: servers
roles:
- mrlesmithjr.manage-lvm
#### GitHub
-----------
- hosts: servers
roles:
- ansible-manage-lvm
```yaml
---
- hosts: test-nodes
vars:
lvm_groups:
- vgname: test-vg
disks:
- /dev/sdb
- /dev/sdc
create: true
lvnames:
- lvname: test_1
size: 5g
create: true
filesystem: ext4
mount: true
mntp: /mnt/test_1
- lvname: test_2
size: 10g
create: true
filesystem: ext4
mount: true
mntp: /mnt/test_2
manage_lvm: true
pri_domain_name: 'test.vagrant.local'
roles:
- role: ansible-manage-lvm
tasks:
```
License
-------
## License
BSD
Author Information
------------------
## Author Information
Larry Smith Jr.
- @mrlesmithjr
- http://everythingshouldbevirtual.com
- mrlesmithjr [at] gmail.com
- [@mrlesmithjr]
- <http://everythingshouldbevirtual.com>
- mrlesmithjr [at] gmail.com
[@mrlesmithjr]: https://www.twitter.com/mrlesmithjr
[ansible]: https://www.ansible.com