Guest User

Untitled

a guest
Jan 13th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.98 KB | None | 0 0
  1. ---
  2. - name: create some vms
  3. hosts: localhost
  4. connection: local
  5. vars_prompt:
  6. - name: "vcenter_host"
  7. prompt: "Enter vcenter host"
  8. private: no
  9. default: "vcsa"
  10. - name: "vcenter_user"
  11. prompt: "Enter vcenter username"
  12. private: no
  13. - name: "vcenter_pass"
  14. prompt: "Enter vcenter password"
  15. private: yes
  16. vars:
  17. - esxi_host: 'esxi01.{{ pri_domain_name }}'
  18. - vcenter_datacenter: 'LAB'
  19. - vcenter_datastore: 'Tier-3 (NAS01)'
  20. - vcenter_folder: 'ansible-builds'
  21. - vms:
  22. - guest: 'test01'
  23. state: 'powered_on'
  24. vcpu_hotadd: 'no'
  25. mem_hotadd: 'no'
  26. notes: 'Ansible Created'
  27. num_disks: '1'
  28. disks:
  29. disk1:
  30. size: '10'
  31. type: 'thin'
  32. network: 'vSS-Green-Servers-VLAN101'
  33. memory: '1024'
  34. cpus: '1'
  35. osid: 'ubuntu64Guest'
  36. - guest: 'test02'
  37. state: 'powered_on'
  38. vcpu_hotadd: 'no'
  39. mem_hotadd: 'no'
  40. notes: 'Ansible Created'
  41. num_disks: '2'
  42. disks:
  43. disk1:
  44. size: '10'
  45. type: 'thin'
  46. disk2:
  47. size: '20'
  48. type: 'thin'
  49. network: 'vSS-Green-Servers-VLAN101'
  50. memory: '1024'
  51. cpus: '1'
  52. osid: 'ubuntu64Guest'
  53. - guest: 'test03'
  54. state: 'powered_on'
  55. vcpu_hotadd: 'no'
  56. mem_hotadd: 'no'
  57. notes: 'Ansible Created'
  58. num_disks: '3'
  59. disks:
  60. disk1:
  61. size: '10'
  62. type: 'thin'
  63. disk2:
  64. size: '20'
  65. type: 'thin'
  66. disk3:
  67. size: '30'
  68. type: 'thin'
  69. network: 'vSS-Green-Servers-VLAN101'
  70. memory: '1024'
  71. cpus: '1'
  72. osid: 'ubuntu64Guest'
  73. - pri_domain_name: 'everythingshouldbevirtual.local'
  74. tasks:
  75. - name: create vms (Single Disk)
  76. vsphere_guest:
  77. vcenter_hostname: "{{ vcenter_host }}"
  78. username: "{{ vcenter_user }}"
  79. password: "{{ vcenter_pass }}"
  80. guest: "{{ item.guest }}"
  81. state: "{{ item.state }}"
  82. vm_extra_config:
  83. vcpu.hotadd: "{{ item.vcpu_hotadd|default(omit) }}"
  84. mem.hotadd: "{{ item.mem_hotadd|default(omit) }}"
  85. notes: "{{ item.notes|default(omit) }}"
  86. folder: "{{ vcenter_folder }}"
  87. vm_disk:
  88. disk1:
  89. size_gb: "{{ item.disks.disk1.size }}"
  90. type: "{{ item.disks.disk1.type }}"
  91. datastore: "{{ vcenter_datastore }}"
  92. folder: "{{ vcenter_folder }}"
  93. vm_nic:
  94. nic1:
  95. type: "vmxnet3"
  96. network: "{{ item.network }}"
  97. network_type: "standard"
  98. vm_hardware:
  99. memory_mb: "{{ item.memory }}"
  100. num_cpus: "{{ item.cpus }}"
  101. osid: "{{ item.osid }}"
  102. scsi: "paravirtual"
  103. esxi:
  104. datacenter: "{{ vcenter_datacenter }}"
  105. hostname: "{{ esxi_host }}"
  106. with_items: vms
  107. when: item.num_disks == '1'
  108.  
  109. - name: create vms (Multi Disk - 2 Disks)
  110. vsphere_guest:
  111. vcenter_hostname: "{{ vcenter_host }}"
  112. username: "{{ vcenter_user }}"
  113. password: "{{ vcenter_pass }}"
  114. guest: "{{ item.guest }}"
  115. state: "{{ item.state }}"
  116. vm_extra_config:
  117. vcpu.hotadd: "{{ item.vcpu_hotadd|default(omit) }}"
  118. mem.hotadd: "{{ item.mem_hotadd|default(omit) }}"
  119. notes: "{{ item.notes|default(omit) }}"
  120. folder: "{{ vcenter_folder }}"
  121. vm_disk:
  122. disk1:
  123. size_gb: "{{ item.disks.disk1.size }}"
  124. type: "{{ item.disks.disk1.type }}"
  125. datastore: "{{ vcenter_datastore }}"
  126. folder: "{{ vcenter_folder }}"
  127. disk2:
  128. size_gb: "{{ item.disks.disk2.size }}"
  129. type: "{{ item.disks.disk2.type }}"
  130. datastore: "{{ vcenter_datastore }}"
  131. folder: "{{ vcenter_folder }}"
  132. vm_nic:
  133. nic1:
  134. type: "vmxnet3"
  135. network: "{{ item.network }}"
  136. network_type: "standard"
  137. vm_hardware:
  138. memory_mb: "{{ item.memory }}"
  139. num_cpus: "{{ item.cpus }}"
  140. osid: "{{ item.osid }}"
  141. scsi: "paravirtual"
  142. esxi:
  143. datacenter: "{{ vcenter_datacenter }}"
  144. hostname: "{{ esxi_host }}"
  145. with_items: vms
  146. when: item.num_disks == '2'
  147.  
  148. - name: create vms (Multi Disk - 3 DIsks)
  149. vsphere_guest:
  150. vcenter_hostname: "{{ vcenter_host }}"
  151. username: "{{ vcenter_user }}"
  152. password: "{{ vcenter_pass }}"
  153. guest: "{{ item.guest }}"
  154. state: "{{ item.state }}"
  155. vm_extra_config:
  156. vcpu.hotadd: "{{ item.vcpu_hotadd|default(omit) }}"
  157. mem.hotadd: "{{ item.mem_hotadd|default(omit) }}"
  158. notes: "{{ item.notes|default(omit) }}"
  159. folder: "{{ vcenter_folder }}"
  160. vm_disk:
  161. disk1:
  162. size_gb: "{{ item.disks.disk1.size }}"
  163. type: "{{ item.disks.disk1.type }}"
  164. datastore: "{{ vcenter_datastore }}"
  165. folder: "{{ vcenter_folder }}"
  166. disk2:
  167. size_gb: "{{ item.disks.disk2.size }}"
  168. type: "{{ item.disks.disk2.type }}"
  169. datastore: "{{ vcenter_datastore }}"
  170. folder: "{{ vcenter_folder }}"
  171. disk3:
  172. size_gb: "{{ item.disks.disk3.size }}"
  173. type: "{{ item.disks.disk3.type }}"
  174. datastore: "{{ vcenter_datastore }}"
  175. folder: "{{ vcenter_folder }}"
  176. vm_nic:
  177. nic1:
  178. type: "vmxnet3"
  179. network: "{{ item.network }}"
  180. network_type: "standard"
  181. vm_hardware:
  182. memory_mb: "{{ item.memory }}"
  183. num_cpus: "{{ item.cpus }}"
  184. osid: "{{ item.osid }}"
  185. scsi: "paravirtual"
  186. esxi:
  187. datacenter: "{{ vcenter_datacenter }}"
  188. hostname: "{{ esxi_host }}"
  189. with_items: vms
  190. when: item.num_disks == '3'
Add Comment
Please, Sign In to add comment