Fuel plugin to deploy OpenStack Telemetry services (Ceilometer, Aodh)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

deployment_tasks.yaml 9.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. # Groups definitions
  2. ####################
  3. # Tasks definitions for the deployment
  4. ######################################
  5. - id: telemetry-hiera
  6. type: puppet
  7. version: 2.0.0
  8. requires: [globals]
  9. required_for: [logging]
  10. # TODO we dont have access to influx hiera, need we dependency on it?
  11. cross-depends:
  12. - name: influxdb-hiera
  13. role: ['/.*/']
  14. parameters:
  15. puppet_manifest: "puppet/manifests/hiera.pp"
  16. puppet_modules: "puppet/modules:/etc/puppet/modules"
  17. timeout: 120
  18. # reexecute_on is needed for scale-down operations
  19. reexecute_on:
  20. - deploy_changes
  21. # AODH related tasks
  22. ####################
  23. - id: telemetry-aodh
  24. type: puppet
  25. version: 2.1.0
  26. groups: [primary-controller, controller]
  27. required_for: [ceilometer-controller, openstack-controller]
  28. requires: [openstack-haproxy]
  29. cross-depends:
  30. - name: telemetry-aodh-db
  31. - name: telemetry-aodh-keystone
  32. - name: telemetry-hiera
  33. role: [primary-controller, controller]
  34. parameters:
  35. puppet_manifest: "/etc/puppet/modules/openstack_tasks/examples/aodh/aodh.pp"
  36. puppet_modules: "/etc/puppet/modules"
  37. timeout: 3600
  38. reexecute_on:
  39. - deploy_changes
  40. test_pre:
  41. cmd: ruby /etc/puppet/modules/openstack_tasks/examples/aodh/aodh_pre.rb
  42. test_post:
  43. cmd: ruby /etc/puppet/modules/openstack_tasks/examples/aodh/aodh_post.rb
  44. - id: telemetry-aodh-keystone
  45. type: puppet
  46. version: 2.1.0
  47. groups: [primary-controller]
  48. required_for: [telemetry-aodh]
  49. requires: [primary-keystone, keystone]
  50. cross-depends:
  51. - name: keystone
  52. role: self
  53. role: [primary-controller, controller]
  54. parameters:
  55. puppet_manifest: "/etc/puppet/modules/openstack_tasks/examples/aodh/keystone.pp"
  56. puppet_modules: "/etc/puppet/modules"
  57. timeout: 1800
  58. - id: telemetry-aodh-db
  59. type: puppet
  60. version: 2.1.0
  61. groups: [primary-controller]
  62. cross-depends:
  63. - name: /^(primary-)?database$/
  64. required_for: [telemetry-aodh]
  65. role: [primary-controller, controller]
  66. requires: [primary-database, database]
  67. parameters:
  68. puppet_manifest: "/etc/puppet/modules/openstack_tasks/examples/aodh/db.pp"
  69. puppet_modules: "/etc/puppet/modules"
  70. timeout: 1800
  71. - id: telemetry-openstack-haproxy-aodh
  72. type: puppet
  73. version: 2.1.0
  74. groups: [primary-controller, controller]
  75. required_for: [deploy_end]
  76. requires: [deploy_start, primary-cluster-haproxy, cluster-haproxy]
  77. cross-depends:
  78. - name: /(primary-)?cluster-haproxy/
  79. role: self
  80. parameters:
  81. puppet_manifest: "/etc/puppet/modules/osnailyfacter/modular/openstack-haproxy/openstack-haproxy-aodh.pp"
  82. puppet_modules: "/etc/puppet/modules"
  83. timeout: 300
  84. test_pre:
  85. cmd: ruby /etc/puppet/modules/osnailyfacter/modular/openstack-haproxy/openstack-haproxy_pre.rb
  86. test_post:
  87. cmd: ruby /etc/puppet/modules/osnailyfacter/modular/openstack-haproxy/openstack-haproxy-aodh_post.rb
  88. # Ceilometer related tasks
  89. ##########################
  90. - id: telemetry-ceilometer-controller
  91. type: puppet
  92. version: 2.1.0
  93. cross-depends:
  94. - name: telemetry-ceilometer-keystone
  95. - name: telemetry-hiera
  96. groups: [primary-controller, controller]
  97. required_for: [primary-openstack-controller, openstack-controller]
  98. requires: [openstack-haproxy]
  99. parameters:
  100. puppet_manifest: "/etc/puppet/modules/openstack_tasks/examples/ceilometer/controller.pp"
  101. puppet_modules: "/etc/puppet/modules"
  102. timeout: 3600
  103. test_pre:
  104. cmd: ruby /etc/puppet/modules/openstack_tasks/examples/ceilometer/controller_pre.rb
  105. test_post:
  106. cmd: ruby /etc/puppet/modules/openstack_tasks/examples/ceilometer/controller_post.rb
  107. - id: telemetry-ceilometer-compute
  108. type: puppet
  109. version: 2.1.0
  110. groups: [compute, compute-vmware]
  111. required_for: [deploy_end]
  112. requires: [ceilometer-controller, top-role-compute]
  113. cross-depends:
  114. - name: ceilometer-controller
  115. - name: telemetry-hiera
  116. parameters:
  117. puppet_manifest: "/etc/puppet/modules/openstack_tasks/examples/ceilometer/compute.pp"
  118. puppet_modules: "/etc/puppet/modules"
  119. timeout: 3600
  120. test_pre:
  121. cmd: ruby /etc/puppet/modules/openstack_tasks/examples/ceilometer/compute_pre.rb
  122. test_post:
  123. cmd: ruby /etc/puppet/modules/openstack_tasks/examples/ceilometer/compute_post.rb
  124. - id: telemetry-ceilometer-configure-compute
  125. type: puppet
  126. version: 2.1.0
  127. groups: [compute, compute-vmware]
  128. required_for: [deploy_end]
  129. requires: [telemetry-ceilometer-compute]
  130. cross-depends:
  131. - name: ceilometer-controller
  132. - name: telemetry-hiera
  133. parameters:
  134. puppet_manifest: puppet/manifests/configure-compute.pp
  135. puppet_modules: puppet/modules:/etc/puppet/modules
  136. timeout: 3600
  137. - id: telemetry-ceilometer-keystone
  138. type: puppet
  139. version: 2.1.0
  140. groups: [primary-controller]
  141. required_for: [ceilometer-controller]
  142. requires: [primary-keystone, keystone]
  143. cross-depends:
  144. - name: /(primary-)?keystone/
  145. role: self
  146. parameters:
  147. puppet_manifest: "/etc/puppet/modules/openstack_tasks/examples/ceilometer/keystone.pp"
  148. puppet_modules: "/etc/puppet/modules"
  149. timeout: 1800
  150. - id: telemetry-openstack-haproxy-ceilometer
  151. type: puppet
  152. version: 2.1.0
  153. groups: [primary-controller, controller]
  154. required_for: [deploy_end]
  155. requires: [deploy_start, primary-cluster-haproxy, cluster-haproxy]
  156. cross-depends:
  157. - name: /(primary-)?cluster-haproxy/
  158. role: self
  159. parameters:
  160. puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/openstack-haproxy/openstack-haproxy-ceilometer.pp
  161. puppet_modules: /etc/puppet/modules
  162. timeout: 300
  163. test_pre:
  164. cmd: ruby /etc/puppet/modules/osnailyfacter/modular/openstack-haproxy/openstack-haproxy_pre.rb
  165. test_post:
  166. cmd: ruby /etc/puppet/modules/osnailyfacter/modular/openstack-haproxy/openstack-haproxy-ceilometer_post.rb
  167. - id: telemetry-configure-apt
  168. type: puppet
  169. version: 2.0.0
  170. # We use upload_nodes_info as an anchor to order the post-deployment tasks executed
  171. # by this plugin and the InfluxDB & Elasticsearch plugins. The dependency chain is:
  172. # Other plugins tasks -> upload_nodes_info -> (LMA collector tasks)
  173. requires: [post_deployment_start]
  174. required_for: [telemetry-integration-configuration, post_deployment_end]
  175. role: [primary-controller, controller]
  176. parameters:
  177. puppet_manifest: puppet/manifests/configure_apt.pp
  178. puppet_modules: puppet/modules:/etc/puppet/modules
  179. timeout: 600
  180. reexecute_on:
  181. - deploy_changes
  182. # Integration tasks
  183. ####################
  184. - id: telemetry-integration-configuration
  185. type: puppet
  186. version: 2.1.0
  187. groups: [primary-controller, controller]
  188. requires: [post_deployment_start,telemetry-aodh,telemetry-hiera,telemetry-ceilometer-controller]
  189. required_for: [post_deployment_end]
  190. cross-depends:
  191. - name: primary-influxdb_grafana
  192. parameters:
  193. puppet_manifest: puppet/manifests/configure.pp
  194. puppet_modules: puppet/modules:/etc/puppet/modules
  195. timeout: 300
  196. - id: telemetry-influxdb-create-db
  197. type: puppet
  198. version: 2.1.0
  199. groups: [primary-controller, controller]
  200. requires: [post_deployment_start]
  201. required_for: [post_deployment_end]
  202. cross-depends:
  203. - name: primary-influxdb_grafana
  204. parameters:
  205. puppet_manifest: puppet/manifests/configure-influxdb.pp
  206. puppet_modules: puppet/modules:/etc/puppet/modules
  207. timeout: 300
  208. - id: telemetry-lua-scripts
  209. type: puppet
  210. version: 2.1.0
  211. groups: [primary-controller, controller]
  212. role: [primary-controller, controller, kafka, primary-kafka]
  213. required_for: [post_deployment_end]
  214. requires: [telemetry-hiera, telemetry-influxdb-create-db]
  215. parameters:
  216. puppet_manifest: puppet/manifests/lua-scripts.pp
  217. puppet_modules: puppet/modules:/etc/puppet/modules
  218. timeout: 300
  219. - id: telemetry-heka
  220. type: puppet
  221. version: 2.1.0
  222. groups: [primary-controller, controller]
  223. required_for: [post_deployment_end]
  224. requires: [telemetry-influxdb-create-db, telemetry-lua-scripts]
  225. parameters:
  226. puppet_manifest: puppet/manifests/heka.pp
  227. puppet_modules: puppet/modules:/etc/puppet/modules
  228. timeout: 300
  229. - id: telemetry-create-topics
  230. type: puppet
  231. version: 2.1.0
  232. groups: [primary-controller, controller]
  233. required_for: [post_deployment_end, telemetry-hindsight]
  234. role: [primary-kafka, kafka]
  235. requires: [kafka-installation]
  236. cross-depends:
  237. - name: kafka-installation
  238. policy: all
  239. parameters:
  240. puppet_manifest: puppet/manifests/create-topics.pp
  241. puppet_modules: puppet/modules:/etc/puppet/modules
  242. timeout: 300
  243. - id: telemetry-hindsight
  244. type: puppet
  245. version: 2.1.0
  246. groups: [primary-controller, controller]
  247. required_for: [post_deployment_end]
  248. role: [primary-kafka, kafka]
  249. requires: [telemetry-influxdb-create-db, telemetry-hiera, kafka-installation]
  250. parameters:
  251. puppet_manifest: puppet/manifests/hindsight.pp
  252. puppet_modules: puppet/modules:/etc/puppet/modules
  253. timeout: 300
  254. - id: telemetry-notifications
  255. type: puppet
  256. version: 2.1.0
  257. groups: [primary-controller, controller]
  258. required_for: [post_deployment_end]
  259. requires: [telemetry-ceilometer-controller, telemetry-integration-configuration]
  260. parameters:
  261. puppet_manifest: puppet/manifests/notifications.pp
  262. puppet_modules: puppet/modules:/etc/puppet/modules
  263. timeout: 300
  264. - id: telemetry-coordination
  265. type: puppet
  266. version: 2.1.0
  267. groups: [primary-controller, controller]
  268. required_for: [post_deployment_end]
  269. requires: [telemetry-heka]
  270. cross-depends:
  271. - name: kafka-installation
  272. - name: telemetry-create-topics
  273. parameters:
  274. puppet_manifest: puppet/manifests/coordination.pp
  275. puppet_modules: puppet/modules:/etc/puppet/modules
  276. timeout: 300
  277. # skip base tasks
  278. - id: ceilometer-radosgw-user
  279. type: skipped
  280. - id: ceilometer-keystone
  281. type: skipped
  282. - id: ceilometer-compute
  283. type: skipped
  284. - id: ceilometer-controller
  285. type: skipped
  286. - id: aodh
  287. type: skipped
  288. - id: aodh-db
  289. type: skipped
  290. - id: aodh-keystone
  291. type: skipped
  292. - id: openstack-haproxy-aodh
  293. type: skipped
  294. - id: openstack-haproxy-ceilometer
  295. type: skipped