Synchronise the openstack bugs
[parser.git] / tosca2heat / heat-translator / translator / tests / data / hot_output / hot_elk.yaml
1 heat_template_version: 2013-05-23
2
3 description: >
4   This TOSCA simple profile deploys nodejs, mongodb, elasticsearch, logstash and
5   kibana each on a separate server with monitoring enabled for nodejs server where
6   a sample nodejs application is running. The rsyslog and collectd are installed
7   on a nodejs server.
8
9 parameters:
10   github_url:
11     type: string
12     description: The URL to download nodejs.
13     default: http://github.com/paypal/rest-api-sample-app-nodejs.git
14
15   my_cpus:
16     type: number
17     description: Number of CPUs for the server.
18     default: 4
19     constraints:
20     - allowed_values:
21       - 1
22       - 2
23       - 4
24       - 8
25
26 resources:
27
28   nodejs_create_deploy:
29     type: OS::Heat::SoftwareDeployment
30     properties:
31       config:
32         get_resource: nodejs_create_config
33       server:
34         get_resource: app_server
35
36   nodejs_create_config:
37     type: OS::Heat::SoftwareConfig
38     properties:
39       config:
40         get_file: nodejs/create.sh
41       group: script
42
43   paypal_pizzastore_configure_deploy:
44     type: OS::Heat::SoftwareDeployment
45     properties:
46       config:
47         get_resource: paypal_pizzastore_configure_config
48       input_values:
49         github_url:
50           get_param: github_url
51         mongodb_ip:
52           get_attr:
53           - mongo_server
54           - networks
55           - private
56           - 0
57       server:
58         get_resource: app_server
59     depends_on:
60     - nodejs_create_deploy
61     - mongo_db_create_deploy
62
63   paypal_pizzastore_configure_config:
64     type: OS::Heat::SoftwareConfig
65     properties:
66       config:
67         get_file: nodejs/config.sh
68       group: script
69
70   paypal_pizzastore_start_deploy:
71     type: OS::Heat::SoftwareDeployment
72     properties:
73       config:
74         get_resource: paypal_pizzastore_start_config
75       server:
76         get_resource: app_server
77     depends_on:
78     - paypal_pizzastore_configure_deploy
79
80   paypal_pizzastore_start_config:
81     type: OS::Heat::SoftwareConfig
82     properties:
83       config:
84         get_file: nodejs/start.sh
85       group: script
86
87
88   mongo_dbms_create_deploy:
89     type: OS::Heat::SoftwareDeployment
90     properties:
91       config:
92         get_resource: mongo_dbms_create_config
93       server:
94         get_resource: mongo_server
95
96   mongo_dbms_create_config:
97     type: OS::Heat::SoftwareConfig
98     properties:
99       config:
100         get_file: mongodb/create.sh
101       group: script
102
103   mongo_dbms_configure_deploy:
104     type: OS::Heat::SoftwareDeployment
105     properties:
106       config:
107         get_resource: mongo_dbms_configure_config
108       input_values:
109         mongodb_ip:
110           get_attr:
111           - mongo_server
112           - networks
113           - private
114           - 0
115       server:
116         get_resource: mongo_server
117     depends_on:
118     - mongo_dbms_create_deploy
119
120   mongo_dbms_configure_config:
121     type: OS::Heat::SoftwareConfig
122     properties:
123       config:
124         get_file: mongodb/config.sh
125       group: script
126
127   mongo_dbms_start_deploy:
128     type: OS::Heat::SoftwareDeployment
129     properties:
130       config:
131         get_resource: mongo_dbms_start_config
132       server:
133         get_resource: mongo_server
134     depends_on:
135     - mongo_dbms_configure_deploy
136
137   mongo_dbms_start_config:
138     type: OS::Heat::SoftwareConfig
139     properties:
140       config:
141         get_file: mongodb/start.sh
142       group: script
143
144   mongo_db_create_deploy:
145     type: OS::Heat::SoftwareDeployment
146     properties:
147       config:
148         get_resource: mongo_db_create_config
149       server:
150         get_resource: mongo_server
151     depends_on:
152     - mongo_dbms_start_deploy
153
154   mongo_db_create_config:
155     type: OS::Heat::SoftwareConfig
156     properties:
157       config:
158         get_file: mongodb/create_database.sh
159       group: script
160
161
162   app_collectd_create_deploy:
163     type: OS::Heat::SoftwareDeployment
164     properties:
165       config:
166         get_resource: app_collectd_create_config
167       server:
168         get_resource: app_server
169     depends_on:
170     - logstash_start_deploy
171
172   app_collectd_create_config:
173     type: OS::Heat::SoftwareConfig
174     properties:
175       config:
176         get_file: collectd/create.sh
177       group: script
178
179   app_collectd_configure_deploy:
180     type: OS::Heat::SoftwareDeployment
181     properties:
182       config:
183         get_resource: app_collectd_configure_config
184       input_values:
185         logstash_ip:
186           get_attr:
187           - logstash_server
188           - networks
189           - private
190           - 0
191       server:
192         get_resource: app_server
193     depends_on:
194     - app_collectd_create_deploy
195
196   app_collectd_configure_config:
197     type: OS::Heat::SoftwareConfig
198     properties:
199       config:
200         get_file: collectd/config.py
201       group: script
202
203   app_collectd_start_deploy:
204     type: OS::Heat::SoftwareDeployment
205     properties:
206       config:
207         get_resource: app_collectd_start_config
208       server:
209         get_resource: app_server
210     depends_on:
211     - app_collectd_configure_deploy
212
213   app_collectd_start_config:
214     type: OS::Heat::SoftwareConfig
215     properties:
216       config:
217         get_file: collectd/start.sh
218       group: script
219
220   app_collectd_logstash_connect_deploy:
221     type: OS::Heat::SoftwareDeployment
222     properties:
223       config:
224         get_resource: app_collectd_logstash_connect_config
225       server:
226         get_resource: logstash_server
227     depends_on:
228     - logstash_create_deploy
229
230   app_collectd_logstash_connect_config:
231     type: OS::Heat::SoftwareConfig
232     properties:
233       config:
234         get_file: logstash/configure_collectd.py
235       group: script
236
237
238   app_rsyslog_create_deploy:
239     type: OS::Heat::SoftwareDeployment
240     properties:
241       config:
242         get_resource: app_rsyslog_create_config
243       server:
244         get_resource: app_server
245     depends_on:
246     - logstash_start_deploy
247
248   app_rsyslog_create_config:
249     type: OS::Heat::SoftwareConfig
250     properties:
251       config:
252         get_file: rsyslog/create.sh
253       group: script
254
255   app_rsyslog_start_deploy:
256     type: OS::Heat::SoftwareDeployment
257     properties:
258       config:
259         get_resource: app_rsyslog_start_config
260       server:
261         get_resource: app_server
262     depends_on:
263     - app_rsyslog_configure_deploy
264
265   app_rsyslog_start_config:
266     type: OS::Heat::SoftwareConfig
267     properties:
268       config:
269         get_file: rsyslog/start.sh
270       group: script
271
272   app_rsyslog_configure_deploy:
273     type: OS::Heat::SoftwareDeployment
274     properties:
275       config:
276         get_resource: app_rsyslog_configure_config
277       input_values:
278         logstash_ip:
279           get_attr:
280           - logstash_server
281           - networks
282           - private
283           - 0
284       server:
285         get_resource: app_server
286     depends_on:
287     - app_rsyslog_create_deploy
288
289   app_rsyslog_configure_config:
290     type: OS::Heat::SoftwareConfig
291     properties:
292       config:
293         get_file: rsyslog/config.sh
294       group: script
295
296   app_rsyslog_logstash_connect_deploy:
297     type: OS::Heat::SoftwareDeployment
298     properties:
299       config:
300         get_resource: app_rsyslog_logstash_connect_config
301       server:
302         get_resource: logstash_server
303     depends_on:
304     - logstash_create_deploy
305
306   app_rsyslog_logstash_connect_config:
307     type: OS::Heat::SoftwareConfig
308     properties:
309       config:
310         get_file: logstash/configure_rsyslog.py
311       group: script
312
313
314   logstash_create_deploy:
315     type: OS::Heat::SoftwareDeployment
316     properties:
317       config:
318         get_resource: logstash_create_config
319       server:
320         get_resource: logstash_server
321     depends_on:
322     - elasticsearch_start_deploy
323
324   logstash_create_config:
325     type: OS::Heat::SoftwareConfig
326     properties:
327       config:
328         get_file: logstash/create.sh
329       group: script
330
331   logstash_start_deploy:
332     type: OS::Heat::SoftwareDeployment
333     properties:
334       config:
335         get_resource: logstash_start_config
336       server:
337         get_resource: logstash_server
338     depends_on:
339     - logstash_create_deploy
340
341   logstash_start_config:
342     type: OS::Heat::SoftwareConfig
343     properties:
344       config:
345         get_file: logstash/start.sh
346       group: script
347
348   logstash_elasticsearch_connect_deploy:
349     type: OS::Heat::SoftwareDeployment
350     properties:
351       config:
352         get_resource: logstash_elasticsearch_connect_config
353       input_values:
354         elasticsearch_ip:
355           get_attr:
356           - elasticsearch_server
357           - networks
358           - private
359           - 0
360       server:
361         get_resource: logstash_server
362     depends_on:
363     - logstash_create_deploy
364
365   logstash_elasticsearch_connect_config:
366     type: OS::Heat::SoftwareConfig
367     properties:
368       config:
369         get_file: logstash/configure_elasticsearch.py
370       group: script
371
372
373   elasticsearch_create_deploy:
374     type: OS::Heat::SoftwareDeployment
375     properties:
376       config:
377         get_resource: elasticsearch_create_config
378       server:
379         get_resource: elasticsearch_server
380
381   elasticsearch_create_config:
382     type: OS::Heat::SoftwareConfig
383     properties:
384       config:
385         get_file: elasticsearch/create.sh
386       group: script
387
388   elasticsearch_start_deploy:
389     type: OS::Heat::SoftwareDeployment
390     properties:
391       config:
392         get_resource: elasticsearch_start_config
393       server:
394         get_resource: elasticsearch_server
395     depends_on:
396     - elasticsearch_create_deploy
397
398   elasticsearch_start_config:
399     type: OS::Heat::SoftwareConfig
400     properties:
401       config:
402         get_file: elasticsearch/start.sh
403       group: script
404
405
406   kibana_create_deploy:
407     type: OS::Heat::SoftwareDeployment
408     properties:
409       config:
410         get_resource: kibana_create_config
411       server:
412         get_resource: kibana_server
413     depends_on:
414     - elasticsearch_start_deploy
415
416   kibana_create_config:
417     type: OS::Heat::SoftwareConfig
418     properties:
419       config:
420         get_file: kibana/create.sh
421       group: script
422
423   kibana_configure_deploy:
424     type: OS::Heat::SoftwareDeployment
425     properties:
426       config:
427         get_resource: kibana_configure_config
428       input_values:
429         elasticsearch_ip:
430           get_attr:
431           - elasticsearch_server
432           - networks
433           - private
434           - 0
435         kibana_ip:
436           get_attr:
437           - kibana_server
438           - networks
439           - private
440           - 0
441       server:
442         get_resource: kibana_server
443     depends_on:
444     - kibana_create_deploy
445
446   kibana_configure_config:
447     type: OS::Heat::SoftwareConfig
448     properties:
449       config:
450         get_file: kibana/config.sh
451       group: script
452
453   kibana_start_deploy:
454     type: OS::Heat::SoftwareDeployment
455     properties:
456       config:
457         get_resource: kibana_start_config
458       server:
459         get_resource: kibana_server
460     depends_on:
461     - kibana_configure_deploy
462
463   kibana_start_config:
464     type: OS::Heat::SoftwareConfig
465     properties:
466       config:
467         get_file: kibana/start.sh
468       group: script
469
470
471   app_server:
472     type: OS::Nova::Server
473     properties:
474       flavor: m1.large
475       image: ubuntu-software-config-os-init
476       user_data_format: SOFTWARE_CONFIG
477
478   mongo_server:
479     type: OS::Nova::Server
480     properties:
481       flavor: m1.large
482       image: ubuntu-software-config-os-init
483       user_data_format: SOFTWARE_CONFIG
484
485   logstash_server:
486     type: OS::Nova::Server
487     properties:
488       flavor: m1.large
489       image: ubuntu-software-config-os-init
490       user_data_format: SOFTWARE_CONFIG
491
492   elasticsearch_server:
493     type: OS::Nova::Server
494     properties:
495       flavor: m1.large
496       image: ubuntu-software-config-os-init
497       user_data_format: SOFTWARE_CONFIG
498
499   kibana_server:
500     type: OS::Nova::Server
501     properties:
502       flavor: m1.large
503       image: ubuntu-software-config-os-init
504       user_data_format: SOFTWARE_CONFIG
505
506 outputs:
507   nodejs_url:
508     description: URL for the nodejs server, http://<IP>:3000
509     value:
510       get_attr:
511       - app_server
512       - networks
513       - private
514       - 0
515
516   mongodb_url:
517     description: URL for the mongodb server.
518     value:
519       get_attr:
520       - mongo_server
521       - networks
522       - private
523       - 0
524
525   logstash_url:
526     description: URL for the logstash server.
527     value:
528       get_attr:
529       - logstash_server
530       - networks
531       - private
532       - 0
533
534   elasticsearch_url:
535     description: URL for the elasticsearch server.
536     value:
537       get_attr:
538       - elasticsearch_server
539       - networks
540       - private
541       - 0
542
543   kibana_url:
544     description: URL for the kibana server.
545     value:
546       get_attr:
547       - kibana_server
548       - networks
549       - private
550       - 0
551