86c5446952a5353d8a723dfb14dbdaf5279aba01
[sdc.git] /
1 tosca_definitions_version: tosca_simple_yaml_1_0_0
2 metadata:
3   template_name: Main
4 imports:
5 - openecomp_heat_index:
6     file: openecomp-heat/_index.yml
7 - GlobalSubstitutionTypes:
8     file: GlobalSubstitutionTypesServiceTemplate.yaml
9 topology_template:
10   inputs:
11     vf_module_id:
12       label: VF Module ID
13       hidden: false
14       immutable: false
15       annotations:
16         source:
17           type: org.openecomp.annotations.Source
18           properties:
19             vf_module_label:
20             - base_pronghorn
21             source_type: HEAT
22             param_name: vf_module_id
23       type: string
24       description: Unique ID for this VF Module instance
25       default: base
26     db_ports:
27       label: Database Ports
28       hidden: false
29       immutable: false
30       annotations:
31         source:
32           type: org.openecomp.annotations.Source
33           properties:
34             vf_module_label:
35             - base_pronghorn
36             source_type: HEAT
37             param_name: db_ports
38       type: list
39       description: List of ports to apply to the security group for the database VMs
40       default:
41       - '27017'
42       entry_schema:
43         type: string
44     app_protocols:
45       label: Application Protocols
46       hidden: false
47       immutable: false
48       annotations:
49         source:
50           type: org.openecomp.annotations.Source
51           properties:
52             vf_module_label:
53             - base_pronghorn
54             source_type: HEAT
55             param_name: app_protocols
56       type: list
57       description: List of protocols associated with the app_ports
58       default:
59       - tcp
60       entry_schema:
61         type: string
62     db_volume_size_0:
63       label: Data Volume Size
64       hidden: false
65       immutable: false
66       annotations:
67         source:
68           type: org.openecomp.annotations.Source
69           properties:
70             vf_module_label:
71             - base_pronghorn_volume
72             source_type: HEAT
73             param_name: db_volume_size_0
74       type: float
75       description: Size of the data volume
76       default: 1
77       constraints:
78       - in_range:
79         - 1
80         - 2000
81     app_ports:
82       label: Application Ports
83       hidden: false
84       immutable: false
85       annotations:
86         source:
87           type: org.openecomp.annotations.Source
88           properties:
89             vf_module_label:
90             - base_pronghorn
91             source_type: HEAT
92             param_name: app_ports
93       type: list
94       description: List of ports to apply to the security group for the application VMs
95       default:
96       - '8443'
97       entry_schema:
98         type: string
99     vnf_id:
100       label: VNF ID
101       hidden: false
102       immutable: false
103       annotations:
104         source:
105           type: org.openecomp.annotations.Source
106           properties:
107             vf_module_label:
108             - base_pronghorn
109             source_type: HEAT
110             param_name: vnf_id
111       type: string
112       description: Unique ID for this VF instance
113       default: pronghorn
114     availability_zone_0:
115       label: First Availability Zone
116       hidden: false
117       immutable: false
118       annotations:
119         source:
120           type: org.openecomp.annotations.Source
121           properties:
122             vf_module_label:
123             - base_pronghorn
124             source_type: HEAT
125             param_name: availability_zone_0
126       type: string
127       description: Name of the first availability zone
128       default: nova
129     app_public_key:
130       label: Application Public Key
131       hidden: false
132       immutable: false
133       annotations:
134         source:
135           type: org.openecomp.annotations.Source
136           properties:
137             vf_module_label:
138             - base_pronghorn
139             source_type: HEAT
140             param_name: app_public_key
141       type: string
142       description: Public ssh key for the application servers
143       default: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGe+nL1U3mFHrbtmsvNWR+oDdUyyOX5KejZqe/80uwDiPNyOJjHWIVuX812AEdAAH94nQnkYr2dBiSu1FPh+auMuk3FfegchKT7pYetqELY3ryLUPEh67PmKrdlT9cQ/wQZROq672AA6qlZAYIooeLZVSzUhABfsITk0RhfcWZGIcZwv0Tja3nnhNgtqCxoTXs6fzfcCaypgwy3F0S4RewUfcz/9g7f0tze1CmWRUtPkNK2nX2/T2AJzHgy+vItwpalnon1egIszJfj7uxp+VotQlQ2PN8sI0J5zgpBFe/lxqEwtIKeiTJ16JlyDXtin/RCjCCdtvIaVCff3Z031UV jspaeth@Jonathons-MBP
144     db_image_name:
145       label: Database Image
146       hidden: false
147       immutable: false
148       annotations:
149         source:
150           type: org.openecomp.annotations.Source
151           properties:
152             vf_module_label:
153             - base_pronghorn
154             source_type: HEAT
155             param_name: db_image_name
156       type: string
157       description: Image of the database server
158       default: pronghorn-ubuntu14
159     db_volume_id_3:
160       label: Data Volume IDs for disk 3
161       hidden: false
162       immutable: false
163       annotations:
164         source:
165           type: org.openecomp.annotations.Source
166           properties:
167             vf_module_label:
168             - base_pronghorn
169             source_type: HEAT
170             param_name: db_volume_id_3
171       type: string
172       description: IDs to be used for the database volumes
173       default: 454a7b1c-a58f-4bac-bed2-a7afa3836dd4
174     db_volume_id_2:
175       label: Data Volume IDs for disk 2
176       hidden: false
177       immutable: false
178       annotations:
179         source:
180           type: org.openecomp.annotations.Source
181           properties:
182             vf_module_label:
183             - base_pronghorn
184             source_type: HEAT
185             param_name: db_volume_id_2
186       type: string
187       description: IDs to be used for the database volumes
188       default: 6f4d6f1a-1e88-492b-8020-b5a169381434
189     oam_net_name:
190       label: Database OAM Network
191       hidden: false
192       immutable: false
193       annotations:
194         source:
195           type: org.openecomp.annotations.Source
196           properties:
197             vf_module_label:
198             - base_pronghorn
199             source_type: HEAT
200             param_name: oam_net_name
201       type: string
202       description: Name of the OAM network for the database servers
203       default: oam
204     db_flavor_name:
205       label: Database Flavor
206       hidden: false
207       immutable: false
208       annotations:
209         source:
210           type: org.openecomp.annotations.Source
211           properties:
212             vf_module_label:
213             - base_pronghorn
214             source_type: HEAT
215             param_name: db_flavor_name
216       type: string
217       description: Flavor of the database server
218       default: s1.test
219     db_volume_id_1:
220       label: Data Volume IDs for disk 1
221       hidden: false
222       immutable: false
223       annotations:
224         source:
225           type: org.openecomp.annotations.Source
226           properties:
227             vf_module_label:
228             - base_pronghorn
229             source_type: HEAT
230             param_name: db_volume_id_1
231       type: string
232       description: IDs to be used for the database volumes
233       default: 5db48c7a-eb2d-4960-a90c-88a2d0052a71
234     common_protocols:
235       label: Common Protocols
236       hidden: false
237       immutable: false
238       annotations:
239         source:
240           type: org.openecomp.annotations.Source
241           properties:
242             vf_module_label:
243             - base_pronghorn
244             source_type: HEAT
245             param_name: common_protocols
246       type: list
247       description: List of protocols associated with the common_ports
248       default:
249       - tcp
250       - udp
251       - udp
252       - udp
253       entry_schema:
254         type: string
255     db_volume_id_0:
256       label: Data Volume IDs for disk 0
257       hidden: false
258       immutable: false
259       annotations:
260         source:
261           type: org.openecomp.annotations.Source
262           properties:
263             vf_module_label:
264             - base_pronghorn
265             source_type: HEAT
266             param_name: db_volume_id_0
267       type: string
268       description: IDs to be used for the database volumes
269       default: e8abc8da-f477-4e5c-8266-98b43c982fe4
270     db_protocols:
271       label: Database Protocols
272       hidden: false
273       immutable: false
274       annotations:
275         source:
276           type: org.openecomp.annotations.Source
277           properties:
278             vf_module_label:
279             - base_pronghorn
280             source_type: HEAT
281             param_name: db_protocols
282       type: list
283       description: List of protocols associated with the db_ports
284       default:
285       - tcp
286       entry_schema:
287         type: string
288     app_flavor_name:
289       label: App Flavor
290       hidden: false
291       immutable: false
292       annotations:
293         source:
294           type: org.openecomp.annotations.Source
295           properties:
296             vf_module_label:
297             - base_pronghorn
298             source_type: HEAT
299             param_name: app_flavor_name
300       type: string
301       description: Flavor to be used for the application server
302       default: s1.test
303     app_deploy_timeout:
304       label: Application Deployment Timeout
305       hidden: false
306       immutable: false
307       annotations:
308         source:
309           type: org.openecomp.annotations.Source
310           properties:
311             vf_module_label:
312             - base_pronghorn
313             source_type: HEAT
314             param_name: app_deploy_timeout
315       type: float
316       description: Timeout in seconds before declaring the application stack as failed
317       default: 300
318       constraints:
319       - in_range:
320         - 60
321         - 3600
322     common_ports:
323       label: Common Ports
324       hidden: false
325       immutable: false
326       annotations:
327         source:
328           type: org.openecomp.annotations.Source
329           properties:
330             vf_module_label:
331             - base_pronghorn
332             source_type: HEAT
333             param_name: common_ports
334       type: list
335       description: List of ports to apply to the security group for all VMs
336       default:
337       - '22'
338       - '53'
339       - '123'
340       - '161'
341       entry_schema:
342         type: string
343     app_name:
344       label: Application Hostname
345       hidden: false
346       immutable: false
347       annotations:
348         source:
349           type: org.openecomp.annotations.Source
350           properties:
351             vf_module_label:
352             - base_pronghorn
353             source_type: HEAT
354             param_name: app_name
355       type: string
356       description: Hostname of the application server
357       default: pronghorn-app01
358     db_name:
359       label: Database Hostname
360       hidden: false
361       immutable: false
362       annotations:
363         source:
364           type: org.openecomp.annotations.Source
365           properties:
366             vf_module_label:
367             - base_pronghorn
368             source_type: HEAT
369             param_name: db_name
370       type: string
371       description: Hostname of the database server
372       default: pronghorn-db01
373     app_oam_ip_0:
374       label: Application OAM IP Address
375       hidden: false
376       immutable: false
377       annotations:
378         source:
379           type: org.openecomp.annotations.Source
380           properties:
381             vf_module_label:
382             - base_pronghorn
383             source_type: HEAT
384             param_name: app_oam_ip_0
385       type: string
386       description: OAM IP Address of the application server
387       default: 10.0.0.21
388     app_vm_role:
389       label: App VM Role
390       hidden: false
391       immutable: false
392       annotations:
393         source:
394           type: org.openecomp.annotations.Source
395           properties:
396             vf_module_label:
397             - base_pronghorn
398             source_type: HEAT
399             param_name: app_vm_role
400       type: string
401       description: Role for the App VM
402       default: app
403     app_image_name:
404       label: App Image
405       hidden: false
406       immutable: false
407       annotations:
408         source:
409           type: org.openecomp.annotations.Source
410           properties:
411             vf_module_label:
412             - base_pronghorn
413             source_type: HEAT
414             param_name: app_image_name
415       type: string
416       description: Image to be used for the application server
417       default: pronghorn-ubuntu14
418     db_public_key:
419       label: Database Public Key
420       hidden: false
421       immutable: false
422       annotations:
423         source:
424           type: org.openecomp.annotations.Source
425           properties:
426             vf_module_label:
427             - base_pronghorn
428             source_type: HEAT
429             param_name: db_public_key
430       type: string
431       description: Public ssh key for the database servers
432       default: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGe+nL1U3mFHrbtmsvNWR+oDdUyyOX5KejZqe/80uwDiPNyOJjHWIVuX812AEdAAH94nQnkYr2dBiSu1FPh+auMuk3FfegchKT7pYetqELY3ryLUPEh67PmKrdlT9cQ/wQZROq672AA6qlZAYIooeLZVSzUhABfsITk0RhfcWZGIcZwv0Tja3nnhNgtqCxoTXs6fzfcCaypgwy3F0S4RewUfcz/9g7f0tze1CmWRUtPkNK2nX2/T2AJzHgy+vItwpalnon1egIszJfj7uxp+VotQlQ2PN8sI0J5zgpBFe/lxqEwtIKeiTJ16JlyDXtin/RCjCCdtvIaVCff3Z031UV jspaeth@Jonathons-MBP
433     db_oam_ip_0:
434       label: Database OAM IP Addresse
435       hidden: false
436       immutable: false
437       annotations:
438         source:
439           type: org.openecomp.annotations.Source
440           properties:
441             vf_module_label:
442             - base_pronghorn
443             source_type: HEAT
444             param_name: db_oam_ip_0
445       type: string
446       description: OAM IP Address of the database server
447       default: 10.0.0.20
448     db_vm_role:
449       label: DB VM Role
450       hidden: false
451       immutable: false
452       annotations:
453         source:
454           type: org.openecomp.annotations.Source
455           properties:
456             vf_module_label:
457             - base_pronghorn
458             source_type: HEAT
459             param_name: db_vm_role
460       type: string
461       description: Role for the DB VM
462       default: database
463     db_deploy_timeout:
464       label: Database Deployment Timeout
465       hidden: false
466       immutable: false
467       annotations:
468         source:
469           type: org.openecomp.annotations.Source
470           properties:
471             vf_module_label:
472             - base_pronghorn
473             source_type: HEAT
474             param_name: db_deploy_timeout
475       type: float
476       description: Timeout in seconds before declaring the database stack as failed
477       default: 300
478       constraints:
479       - in_range:
480         - 60
481         - 3600
482   node_templates:
483     app_security_group:
484       type: org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules
485       properties:
486         name: app security group
487         rules:
488         - protocol:
489             get_input:
490             - app_protocols
491             - 0
492           port_range_max:
493             get_input:
494             - app_ports
495             - 0
496           port_range_min:
497             get_input:
498             - app_ports
499             - 0
500     common_security_group:
501       type: org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules
502       properties:
503         name: common security group
504         rules:
505         - protocol:
506             get_input:
507             - common_protocols
508             - 0
509           port_range_max:
510             get_input:
511             - common_ports
512             - 0
513           port_range_min:
514             get_input:
515             - common_ports
516             - 0
517         - protocol:
518             get_input:
519             - common_protocols
520             - 1
521           port_range_max:
522             get_input:
523             - common_ports
524             - 1
525           port_range_min:
526             get_input:
527             - common_ports
528             - 1
529         - protocol:
530             get_input:
531             - common_protocols
532             - 2
533           port_range_max:
534             get_input:
535             - common_ports
536             - 2
537           port_range_min:
538             get_input:
539             - common_ports
540             - 2
541         - protocol:
542             get_input:
543             - common_protocols
544             - 3
545           port_range_max:
546             get_input:
547             - common_ports
548             - 3
549           port_range_min:
550             get_input:
551             - common_ports
552             - 3
553     db_security_group:
554       type: org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules
555       properties:
556         name: data security group
557         rules:
558         - protocol:
559             get_input:
560             - db_protocols
561             - 0
562           port_range_max:
563             get_input:
564             - db_ports
565             - 0
566           port_range_min:
567             get_input:
568             - db_ports
569             - 0
570     db_servers:
571       type: org.openecomp.resource.abstract.nodes.heat.nested_db_server
572       directives:
573       - substitutable
574       properties:
575         vf_module_id:
576           get_input: vf_module_id
577         security_group_ids:
578         - common_security_group
579         - db_security_group
580         vm_role:
581           get_input: db_vm_role
582         service_template_filter:
583           substitute_service_template: nested_db_serverServiceTemplate.yaml
584           count: 1
585           mandatory: true
586         db_name:
587           get_input: db_name
588         vnf_id:
589           get_input: vnf_id
590         server_group_id: db_server_group_group
591         availability_zone_0:
592           get_input: availability_zone_0
593         keypair_id: UNSUPPORTED_RESOURCE_db_keypair
594         db_image_name:
595           get_input: db_image_name
596         db_volume_id_3:
597           get_input: db_volume_id_3
598         db_volume_id_2:
599           get_input: db_volume_id_2
600         oam_net_name:
601           get_input: oam_net_name
602         db_oam_ip_0:
603           get_input: db_oam_ip_0
604         db_flavor_name:
605           get_input: db_flavor_name
606         db_volume_id_1:
607           get_input: db_volume_id_1
608         deploy_timeout:
609           get_input: db_deploy_timeout
610         db_volume_id_0:
611           get_input: db_volume_id_0
612     app_servers:
613       type: org.openecomp.resource.abstract.nodes.heat.nested_app_server
614       directives:
615       - substitutable
616       properties:
617         vf_module_id:
618           get_input: vf_module_id
619         app_flavor_name:
620           get_input: app_flavor_name
621         security_group_ids:
622         - common_security_group
623         - app_security_group
624         vm_role:
625           get_input: app_vm_role
626         app_name:
627           get_input: app_name
628         service_template_filter:
629           substitute_service_template: nested_app_serverServiceTemplate.yaml
630           count: 1
631           mandatory: true
632         vnf_id:
633           get_input: vnf_id
634         app_oam_ip_0:
635           get_input: app_oam_ip_0
636         server_group_id: app_server_group_group
637         availability_zone_0:
638           get_input: availability_zone_0
639         keypair_id: UNSUPPORTED_RESOURCE_app_keypair
640         app_image_name:
641           get_input: app_image_name
642         oam_net_name:
643           get_input: oam_net_name
644         deploy_timeout:
645           get_input: app_deploy_timeout
646   groups:
647     base_pronghorn_group:
648       type: org.openecomp.groups.heat.HeatStack
649       properties:
650         heat_file: ../Artifacts/base_pronghorn.yaml
651         description: Pronghorn Openstack Heat Template
652       members:
653       - app_security_group
654       - common_security_group
655       - db_security_group
656       - db_servers
657       - app_servers
658     db_server_group_group:
659       type: tosca.groups.Root
660       members: [
661         ]
662     app_server_group_group:
663       type: tosca.groups.Root
664       members: [
665         ]
666   outputs:
667     db_volume_id_0:
668       description: IDs of the database volumes
669       value:
670       - UNSUPPORTED_ATTRIBUTE_db_volumes_0.refs
671   policies:
672     app_server_group_policy:
673       type: org.openecomp.policies.placement.Antilocate
674       properties:
675         name: app server group
676         container_type: host
677       targets:
678       - app_server_group_group
679     db_server_group_policy:
680       type: org.openecomp.policies.placement.Antilocate
681       properties:
682         name: data server group
683         container_type: host
684       targets:
685       - db_server_group_group