Advertisement
sandervanvugt

Untitled

Apr 15th, 2021
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. [ansible@control lesson15]$ cat ivan.yaml
  2. ---
  3. - name: Setup storage in /dev/sdb
  4. hosts: all
  5. vars_files:
  6. - vars/storage_lab.yaml
  7. tasks:
  8. - name: try to create storage in /dev/sdb
  9. block:
  10. - name: create a partition in second disk
  11. parted:
  12. device: /dev/sdb
  13. number: "{{ item.number }}"
  14. part_end: "{{ item.part_end }}"
  15. state: present
  16. loop: "{{ partitions }}"
  17. - name: create a VG
  18. lvg:
  19. vg: "{{ item.vg_name }}"
  20. pvs: "{{ item.pv }}"
  21. loop: "{{ vgvols}}"
  22. - name: reading facts
  23. setup:
  24. - name: create LVMs with {{ item.max_size }} size
  25. lvol:
  26. lv: "{{ item.lv_name }}"
  27. vg: "{{ item.vg_name }}"
  28. size: "{{ item.max_size }}"
  29. state: present
  30. loop: "{{ lvols }}"
  31. when: item.lv_name not in ansible_lvm['lvs'] and validation > ansible_lvm['vgs']['vgfiles']['free_g']
  32. - name: create LVMs {{ item.low_size }} size
  33. lvol:
  34. lv: "{{ item.lv_name }}"
  35. vg: "{{ item.vg_name }}"
  36. size: "{{ item.low_size }}"
  37. state: present
  38. loop: "{{ lvols }}"
  39. when: item.lv_name not in ansible_lvm['lvs'] and validation < ansible_lvm['vgs']['vgfiles']['free_g']
  40. - name: create filesystems
  41. filesystem:
  42. dev: "/dev/{{ item.vg_name }}/{{ item.lv_name }}"
  43. fstype: xfs
  44. loop: "{{ lvols }}"
  45. - name: mount filesystem
  46. mount:
  47. path: "{{ item.path }}"
  48. src: "/dev/{{ item.vg_name }}/{{ item.lv_name }}"
  49. fstype: xfs
  50. opts: noatime
  51. state: mounted
  52. loop: "{{ lvols }}"
  53. rescue:
  54. - debug:
  55. msg: "device sdb not present"
  56. [ansible@control lesson15]$ cat vars/storage_lab.yaml
  57. ---
  58. partitions:
  59. - number: 1
  60. part_end: 100%
  61.  
  62. vgvols:
  63. - vg_name: vgfiles
  64. pv: /dev/sdb1
  65.  
  66. lvols:
  67. - lv_name: lvfiles
  68. vg_name: vgfiles
  69. low_size: 3G
  70. max_size: 6G
  71. path: /files
  72. validation: "6.00"
  73.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement