Advertisement
Guest User

Untitled

a guest
Nov 16th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.62 KB | None | 0 0
  1. heat_template_version: 2015-04-30
  2.  
  3. description: >
  4. Launch different groups of VMs.
  5.  
  6. Default Quota per User:
  7. CPU: 32, RAM: 60 GB, DISK: 320 GB
  8. (this is 8 m3.large or 4 m3.xlarge)
  9.  
  10. parameters:
  11. key_name:
  12. label: SSH Key
  13. description: Name of an existing PublicKey to enable SSH access to the instances.
  14. type: string
  15. default: field
  16. constraints:
  17. - custom_constraint: nova.keypair
  18. instance_image:
  19. label: Image
  20. constraints:
  21. - allowed_values: [Centos 6.5, CentOS 7.2, Ubuntu 14.04.1 LTS Trusty Tahr (cloudimg)]
  22. description: VM Image
  23. type: string
  24. default: CentOS 7.2
  25. admin_password:
  26. label: Admin Password
  27. description: Admin password for the new VMs
  28. type: string
  29. default: hadoop
  30. instance_type_master:
  31. label: Master Instance Type
  32. constraints:
  33. - allowed_values: [m3.medium, m3.large, m3.xlarge, m3.2xlarge, m3.4xlarge, m3.8xlarge, m3.16xlarge]
  34. description: Master Node Instance Type
  35. type: string
  36. default: m3.large
  37. num_vms_masters:
  38. label: Number of Master Nodes
  39. description: Number of Master VMs to launch
  40. type: string
  41. constraints:
  42. - allowed_values: [ "0","1","2","3","4","5","6","7","8" ]
  43. instance_type_worker:
  44. label: Worker Node Instance Type
  45. constraints:
  46. - allowed_values: [m3.medium, m3.large, m3.xlarge, m3.2xlarge, m3.4xlarge, m3.8xlarge, m3.16xlarge]
  47. description: Worker Node VM Type
  48. type: string
  49. default: m3.large
  50. num_vms_workers:
  51. label: Number of Worker Nodes
  52. description: Number of Worker VMs to launch
  53. type: string
  54. constraints:
  55. - allowed_values: [ "0","1","2","3","4","5","6","7","8" ]
  56. instance_type_edge:
  57. label: Edge Node Instance Type
  58. constraints:
  59. - allowed_values: [m3.medium, m3.large, m3.xlarge, m3.2xlarge, m3.4xlarge, m3.8xlarge, m3.16xlarge]
  60. description: Edge Node Instance Type
  61. type: string
  62. default: m3.large
  63. num_vms_edge:
  64. label: Number of Edge Nodes
  65. description: Number of Edge VMs to launch
  66. type: string
  67. constraints:
  68. - allowed_values: [ "0","1","2","3","4","5","6","7","8" ]
  69. instance_type_stream:
  70. label: Stream Node Instance Type
  71. constraints:
  72. - allowed_values: [m3.medium, m3.large, m3.xlarge, m3.2xlarge, m3.4xlarge, m3.8xlarge, m3.16xlarge]
  73. description: Stream Node Instance Type
  74. type: string
  75. default: m3.large
  76. num_vms_stream:
  77. label: Number of Stream Nodes
  78. description: Number of Stream VMs to launch
  79. type: string
  80. constraints:
  81. - allowed_values: [ "0","1","2","3","4","5","6","7","8" ]
  82.  
  83. parameter_groups:
  84. - label: Access
  85. parameters:
  86. - key_name
  87. - admin_password
  88. - label: OS
  89. parameters:
  90. - instance_image
  91. - label: Masters
  92. parameters:
  93. - instance_type_master
  94. - num_vms_masters
  95. - label: Workers
  96. parameters:
  97. - instance_type_worker
  98. - num_vms_workers
  99. - label: Edges
  100. parameters:
  101. - instance_type_edge
  102. - num_vms_edge
  103. - label: Streams
  104. parameters:
  105. - instance_type_stream
  106. - num_vms_stream
  107.  
  108. resources:
  109. masters:
  110. type: OS::Heat::ResourceGroup
  111. properties:
  112. count: { get_param: num_vms_masters }
  113. resource_def:
  114. type: OS::Nova::Server
  115. properties:
  116. flavor: { get_param: instance_type_master }
  117. image: { get_param: instance_image }
  118. name:
  119. str_replace:
  120. template:
  121. $namem$index
  122. params:
  123. $name: { get_param: "OS::stack_name" }
  124. $index: "%index%"
  125. key_name: { get_param: key_name }
  126. admin_pass: { get_param: admin_password }
  127. admin_user: root
  128. availability_zone : PS
  129.  
  130. workers:
  131. type: OS::Heat::ResourceGroup
  132. properties:
  133. count: { get_param: num_vms_workers }
  134. resource_def:
  135. type: OS::Nova::Server
  136. properties:
  137. flavor: { get_param: instance_type_worker }
  138. image: { get_param: instance_image }
  139. name:
  140. str_replace:
  141. template:
  142. $namew$index
  143. params:
  144. $name: { get_param: "OS::stack_name" }
  145. $index: "%index%"
  146. key_name: { get_param: key_name }
  147. admin_pass: { get_param: admin_password }
  148. admin_user: root
  149. availability_zone : PS
  150.  
  151. edge:
  152. type: OS::Heat::ResourceGroup
  153. properties:
  154. count: { get_param: num_vms_edge }
  155. resource_def:
  156. type: OS::Nova::Server
  157. properties:
  158. flavor: { get_param: instance_type_edge }
  159. image: { get_param: instance_image }
  160. name:
  161. str_replace:
  162. template:
  163. $namee$index
  164. params:
  165. $name: { get_param: "OS::stack_name" }
  166. $index: "%index%"
  167. key_name: { get_param: key_name }
  168. admin_pass: { get_param: admin_password }
  169. admin_user: root
  170. availability_zone : PS
  171.  
  172. stream:
  173. type: OS::Heat::ResourceGroup
  174. properties:
  175. count: { get_param: num_vms_stream }
  176. resource_def:
  177. type: OS::Nova::Server
  178. properties:
  179. flavor: { get_param: instance_type_stream }
  180. image: { get_param: instance_image }
  181. name:
  182. str_replace:
  183. template:
  184. $names$index
  185. params:
  186. $name: { get_param: "OS::stack_name" }
  187. $index: "%index%"
  188. key_name: { get_param: key_name }
  189. admin_pass: { get_param: admin_password }
  190. admin_user: root
  191. availability_zone : PS
  192.  
  193. outputs:
  194. instance_ip:
  195. description: The IP addresses of the deployed instance
  196. value: { get_attr: [masters, first_address] }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement