Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [ansible@control lesson15]$ cat ivan.yaml
- ---
- - name: Setup storage in /dev/sdb
- hosts: all
- vars_files:
- - vars/storage_lab.yaml
- tasks:
- - name: try to create storage in /dev/sdb
- block:
- - name: create a partition in second disk
- parted:
- device: /dev/sdb
- number: "{{ item.number }}"
- part_end: "{{ item.part_end }}"
- state: present
- loop: "{{ partitions }}"
- - name: create a VG
- lvg:
- vg: "{{ item.vg_name }}"
- pvs: "{{ item.pv }}"
- loop: "{{ vgvols}}"
- - name: reading facts
- setup:
- - name: create LVMs with {{ item.max_size }} size
- lvol:
- lv: "{{ item.lv_name }}"
- vg: "{{ item.vg_name }}"
- size: "{{ item.max_size }}"
- state: present
- loop: "{{ lvols }}"
- when: item.lv_name not in ansible_lvm['lvs'] and validation > ansible_lvm['vgs']['vgfiles']['free_g']
- - name: create LVMs {{ item.low_size }} size
- lvol:
- lv: "{{ item.lv_name }}"
- vg: "{{ item.vg_name }}"
- size: "{{ item.low_size }}"
- state: present
- loop: "{{ lvols }}"
- when: item.lv_name not in ansible_lvm['lvs'] and validation < ansible_lvm['vgs']['vgfiles']['free_g']
- - name: create filesystems
- filesystem:
- dev: "/dev/{{ item.vg_name }}/{{ item.lv_name }}"
- fstype: xfs
- loop: "{{ lvols }}"
- - name: mount filesystem
- mount:
- path: "{{ item.path }}"
- src: "/dev/{{ item.vg_name }}/{{ item.lv_name }}"
- fstype: xfs
- opts: noatime
- state: mounted
- loop: "{{ lvols }}"
- rescue:
- - debug:
- msg: "device sdb not present"
- [ansible@control lesson15]$ cat vars/storage_lab.yaml
- ---
- partitions:
- - number: 1
- part_end: 100%
- vgvols:
- - vg_name: vgfiles
- pv: /dev/sdb1
- lvols:
- - lv_name: lvfiles
- vg_name: vgfiles
- low_size: 3G
- max_size: 6G
- path: /files
- validation: "6.00"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement