1e7c8c88c7c9814e89e481fdd834d59c715aba65
[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       hidden: false
13       immutable: false
14       annotations:
15         source:
16           type: org.openecomp.annotations.Source
17           properties:
18             vf_module_label:
19             - main
20             source_type: HEAT
21             param_name: vf_module_id
22       type: string
23       description: Unique ID for this VF module inst
24     fabric_int_net_rpf:
25       hidden: false
26       immutable: false
27       annotations:
28         source:
29           type: org.openecomp.annotations.Source
30           properties:
31             vf_module_label:
32             - main
33             source_type: HEAT
34             param_name: fabric_int_net_rpf
35       type: string
36       description: Reverse Path Filtering enable or disable for the fabric virtual network
37     control_int_net_rpf:
38       hidden: false
39       immutable: false
40       annotations:
41         source:
42           type: org.openecomp.annotations.Source
43           properties:
44             vf_module_label:
45             - main
46             source_type: HEAT
47             param_name: control_int_net_rpf
48       type: string
49       description: Reverse Path Filtering enable or disable for the control virtual network
50     control_int_net_forwarding_mode:
51       hidden: false
52       immutable: false
53       annotations:
54         source:
55           type: org.openecomp.annotations.Source
56           properties:
57             vf_module_label:
58             - main
59             source_type: HEAT
60             param_name: control_int_net_forwarding_mode
61       type: string
62       description: forwarding mode of the control virtual network
63     vnf_name:
64       hidden: false
65       immutable: false
66       annotations:
67         source:
68           type: org.openecomp.annotations.Source
69           properties:
70             vf_module_label:
71             - main
72             source_type: HEAT
73             param_name: vnf_name
74       type: string
75       description: Unique name for this VF instance
76     vdbe_untrusted_ip_1:
77       hidden: false
78       immutable: false
79       annotations:
80         source:
81           type: org.openecomp.annotations.Source
82           properties:
83             vf_module_label:
84             - main
85             source_type: HEAT
86             param_name: vdbe_untrusted_ip_1
87       type: string
88       description: IPV4 address of the secondary vDBE VM on the VAN untrusted network
89     vdbe_aap_untrusted_ip_prefix_len:
90       hidden: false
91       immutable: false
92       annotations:
93         source:
94           type: org.openecomp.annotations.Source
95           properties:
96             vf_module_label:
97             - main
98             source_type: HEAT
99             param_name: vdbe_aap_untrusted_ip_prefix_len
100       type: string
101       description: ip prefix length for the primary vDBE VM on the VAN untrusted network
102     untrusted_num_vn:
103       hidden: false
104       immutable: false
105       annotations:
106         source:
107           type: org.openecomp.annotations.Source
108           properties:
109             vf_module_label:
110             - main
111             source_type: HEAT
112             param_name: untrusted_num_vn
113       type: float
114       description: Number of vDBE subinterface virtual Networks
115       constraints:
116       - in_range:
117         - 1
118         - 77
119     aap_address_mode:
120       hidden: false
121       immutable: false
122       annotations:
123         source:
124           type: org.openecomp.annotations.Source
125           properties:
126             vf_module_label:
127             - main
128             source_type: HEAT
129             param_name: aap_address_mode
130       type: string
131       description: Address mode for the vDBE cluster IP
132     control_int_net_shared:
133       hidden: false
134       immutable: false
135       annotations:
136         source:
137           type: org.openecomp.annotations.Source
138           properties:
139             vf_module_label:
140             - main
141             source_type: HEAT
142             param_name: control_int_net_shared
143       type: boolean
144       description: control virtual network shared
145     vdbe_untrusted_v6_ip_1:
146       hidden: false
147       immutable: false
148       annotations:
149         source:
150           type: org.openecomp.annotations.Source
151           properties:
152             vf_module_label:
153             - main
154             source_type: HEAT
155             param_name: vdbe_untrusted_v6_ip_1
156       type: string
157       description: IPV6 address of the secondary vDBE VM on the VAN untrusted network
158     vdbe_untrusted_vmac_address:
159       hidden: false
160       immutable: false
161       annotations:
162         source:
163           type: org.openecomp.annotations.Source
164           properties:
165             vf_module_label:
166             - main
167             source_type: HEAT
168             param_name: vdbe_untrusted_vmac_address
169       type: string
170       description: Virtual MAC of the primary vDBE VM on the VAN untrusted network
171     control_int_net_flood_unknown_unicast:
172       hidden: false
173       immutable: false
174       annotations:
175         source:
176           type: org.openecomp.annotations.Source
177           properties:
178             vf_module_label:
179             - main
180             source_type: HEAT
181             param_name: control_int_net_flood_unknown_unicast
182       type: boolean
183       description: forwarding mode of the control virtual network
184     vdbe_aap_sec_untrusted_ip_prefix:
185       hidden: false
186       immutable: false
187       annotations:
188         source:
189           type: org.openecomp.annotations.Source
190           properties:
191             vf_module_label:
192             - main
193             source_type: HEAT
194             param_name: vdbe_aap_sec_untrusted_ip_prefix
195       type: string
196       description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
197     vnf_id:
198       hidden: false
199       immutable: false
200       annotations:
201         source:
202           type: org.openecomp.annotations.Source
203           properties:
204             vf_module_label:
205             - main
206             source_type: HEAT
207             param_name: vnf_id
208       type: string
209       description: Unique ID for this VF inst
210     vdbe_name_1:
211       hidden: false
212       immutable: false
213       annotations:
214         source:
215           type: org.openecomp.annotations.Source
216           properties:
217             vf_module_label:
218             - main
219             source_type: HEAT
220             param_name: vdbe_name_1
221       type: string
222       description: VM Name for this vdbe node 1
223     availability_zone_1:
224       hidden: false
225       immutable: false
226       annotations:
227         source:
228           type: org.openecomp.annotations.Source
229           properties:
230             vf_module_label:
231             - main
232             source_type: HEAT
233             param_name: availability_zone_1
234       type: string
235       description: The availability zone of secondary node1 vDBE vm in the local HA pair.
236     untrusted_vn_networks:
237       hidden: false
238       immutable: false
239       annotations:
240         source:
241           type: org.openecomp.annotations.Source
242           properties:
243             vf_module_label:
244             - main
245             source_type: HEAT
246             param_name: untrusted_vn_networks
247       type: list
248       description: List of subinterface virtual networks
249       entry_schema:
250         type: string
251     vdbe_image_name:
252       hidden: false
253       immutable: false
254       annotations:
255         source:
256           type: org.openecomp.annotations.Source
257           properties:
258             vf_module_label:
259             - main
260             source_type: HEAT
261             param_name: vdbe_image_name
262       type: string
263       description: Image to use for vDBE
264     oam_net_name:
265       hidden: false
266       immutable: false
267       annotations:
268         source:
269           type: org.openecomp.annotations.Source
270           properties:
271             vf_module_label:
272             - main
273             source_type: HEAT
274             param_name: oam_net_name
275       type: string
276       description: Name of NSDNet network from which the management IP addresses will be allocated
277     vdbe_aap_sec_untrusted_ip_prefix_len:
278       hidden: false
279       immutable: false
280       annotations:
281         source:
282           type: org.openecomp.annotations.Source
283           properties:
284             vf_module_label:
285             - main
286             source_type: HEAT
287             param_name: vdbe_aap_sec_untrusted_ip_prefix_len
288       type: string
289       description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
290     vdbe_aap_untrusted_v6_ip_prefix:
291       hidden: false
292       immutable: false
293       annotations:
294         source:
295           type: org.openecomp.annotations.Source
296           properties:
297             vf_module_label:
298             - main
299             source_type: HEAT
300             param_name: vdbe_aap_untrusted_v6_ip_prefix
301       type: string
302       description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
303     vdbe_aap_untrusted_v6_ip_prefix_len:
304       hidden: false
305       immutable: false
306       annotations:
307         source:
308           type: org.openecomp.annotations.Source
309           properties:
310             vf_module_label:
311             - main
312             source_type: HEAT
313             param_name: vdbe_aap_untrusted_v6_ip_prefix_len
314       type: string
315       description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
316     fabric_int_net_flood_unknown_unicast:
317       hidden: false
318       immutable: false
319       annotations:
320         source:
321           type: org.openecomp.annotations.Source
322           properties:
323             vf_module_label:
324             - main
325             source_type: HEAT
326             param_name: fabric_int_net_flood_unknown_unicast
327       type: boolean
328       description: forwarding mode of the fabric virtual network
329     oam_network_collection_function:
330       type: string
331       required: true
332     untrusted_vlan_tags:
333       hidden: false
334       immutable: false
335       annotations:
336         source:
337           type: org.openecomp.annotations.Source
338           properties:
339             vf_module_label:
340             - main
341             source_type: HEAT
342             param_name: untrusted_vlan_tags
343       type: list
344       description: List of subinterface vlan tags
345       entry_schema:
346         type: string
347     untr_network_collection_function:
348       type: string
349       required: true
350     untr_vfc_instance_group_function:
351       type: string
352       required: true
353     vdbe_flavor_name:
354       hidden: false
355       immutable: false
356       annotations:
357         source:
358           type: org.openecomp.annotations.Source
359           properties:
360             vf_module_label:
361             - main
362             source_type: HEAT
363             param_name: vdbe_flavor_name
364       type: string
365       description: Flavor to use for vDBE
366     counter:
367       hidden: false
368       immutable: false
369       annotations:
370         source:
371           type: org.openecomp.annotations.Source
372           properties:
373             vf_module_label:
374             - main
375             source_type: HEAT
376             param_name: counter
377       type: float
378       description: Counter.
379     fabric_int_net_forwarding_mode:
380       hidden: false
381       immutable: false
382       annotations:
383         source:
384           type: org.openecomp.annotations.Source
385           properties:
386             vf_module_label:
387             - main
388             source_type: HEAT
389             param_name: fabric_int_net_forwarding_mode
390       type: string
391       description: forwarding mode of the fabric virtual network
392     fabric_int_net_shared:
393       hidden: false
394       immutable: false
395       annotations:
396         source:
397           type: org.openecomp.annotations.Source
398           properties:
399             vf_module_label:
400             - main
401             source_type: HEAT
402             param_name: fabric_int_net_shared
403       description: fabric virtual network shared
404     oam_vfc_instance_group_function:
405       type: string
406       required: true
407     vdbe_hw_untr_mac_1:
408       hidden: false
409       immutable: false
410       annotations:
411         source:
412           type: org.openecomp.annotations.Source
413           properties:
414             vf_module_label:
415             - main
416             source_type: HEAT
417             param_name: vdbe_hw_untr_mac_1
418       type: string
419       description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network
420     untrusted_net_name:
421       hidden: false
422       immutable: false
423       annotations:
424         source:
425           type: org.openecomp.annotations.Source
426           properties:
427             vf_module_label:
428             - main
429             source_type: HEAT
430             param_name: untrusted_net_name
431       type: string
432       description: Name of public untrusted network into which this vDBE HA cluster is deployed
433     vdbe_device_name:
434       hidden: false
435       immutable: false
436       annotations:
437         source:
438           type: org.openecomp.annotations.Source
439           properties:
440             vf_module_label:
441             - main
442             source_type: HEAT
443             param_name: vdbe_device_name
444       type: string
445       description: VDBE device Name for this vdbe VNF
446     vdbe_aap_untrusted_ip_prefix:
447       hidden: false
448       immutable: false
449       annotations:
450         source:
451           type: org.openecomp.annotations.Source
452           properties:
453             vf_module_label:
454             - main
455             source_type: HEAT
456             param_name: vdbe_aap_untrusted_ip_prefix
457       type: string
458       description: ip prefix for primary vDBE VM on the VAN untrusted network
459   node_templates:
460     fabric_int_net:
461       type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
462       properties:
463         network_name:
464           str_replace:
465             template: template-fabric-int
466             params:
467               VNF_NAME:
468                 get_input: vnf_name
469     control_int_net:
470       type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
471       properties:
472         network_name:
473           str_replace:
474             template: VNF_NAME_control_net
475             params:
476               VNF_NAME:
477                 get_input: vnf_name
478     abstract_vdbe:
479       type: org.openecomp.resource.abstract.nodes.vdbe
480       directives:
481       - substitutable
482       properties:
483         subinterface_vlan1_aap_untrusted_v6_ip_prefix:
484         - get_input: vdbe_aap_untrusted_v6_ip_prefix
485         - get_input: vdbe_aap_untrusted_v6_ip_prefix
486         subinterface_vlan1_aap_sec_untrusted_ip_prefix:
487         - get_input: vdbe_aap_sec_untrusted_ip_prefix
488         - get_input: vdbe_aap_sec_untrusted_ip_prefix
489         port_vdbe_oam_vmi_virtual_machine_interface_mac_addresses:
490         - - get_input: vdbe_hw_untr_mac_1
491         - - get_input: vdbe_hw_untr_mac_1
492         subinterface_vlan1_vmac_address:
493         - get_input: vdbe_untrusted_vmac_address
494         - get_input: vdbe_untrusted_vmac_address
495         compute_vdbe_availability_zone:
496         - get_input: availability_zone_1
497         - get_input: availability_zone_1
498         vm_flavor_name:
499           get_input: vdbe_flavor_name
500         subinterface_vlan1_counter:
501         - get_input: counter
502         - get_input: counter
503         subinterface_vlan2_aap_untrusted_v6_ip_prefix:
504         - get_input: vdbe_aap_untrusted_v6_ip_prefix
505         - get_input: vdbe_aap_untrusted_v6_ip_prefix
506         vm_image_name:
507           get_input: vdbe_image_name
508         compute_vdbe_metadata:
509         - vf_module_id:
510             get_input: vf_module_id
511           vnf_id:
512             get_input: vnf_id
513           vnf_name:
514             get_input: vnf_name
515         - vf_module_id:
516             get_input: vf_module_id
517           vnf_id:
518             get_input: vnf_id
519           vnf_name:
520             get_input: vnf_name
521         subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:
522         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
523         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
524         port_vdbe_oam_vmi_virtual_network_refs:
525         - - fabric_int_net
526         - - fabric_int_net
527         port_vdbe_oam_vmi_name:
528         - Port_2
529         - Port_4
530         subinterface_vlan2_ip_address:
531         - get_input: vdbe_untrusted_ip_1
532         - get_input: vdbe_untrusted_ip_1
533         subinterface_vlan2_ip_v6_address:
534         - get_input: vdbe_untrusted_v6_ip_1
535         - get_input: vdbe_untrusted_v6_ip_1
536         subinterface_vlan2_parent_interface:
537         - vdbe_1_oam_vmi_1
538         - vdbe_2_oam_vmi_2
539         subinterface_vlan2_aap_address_mode:
540         - get_input: aap_address_mode
541         - get_input: aap_address_mode
542         subinterface_vlan1_mac_address:
543         - get_input: vdbe_hw_untr_mac_1
544         - get_input: vdbe_hw_untr_mac_1
545         subinterface_vlan2_mac_address:
546         - get_input: vdbe_hw_untr_mac_1
547         - get_input: vdbe_hw_untr_mac_1
548         subinterface_vlan1_aap_untrusted_ip_prefix_len:
549         - get_input: vdbe_aap_untrusted_ip_prefix_len
550         - get_input: vdbe_aap_untrusted_ip_prefix_len
551         subinterface_vlan1_ip_address:
552         - get_input: vdbe_untrusted_ip_1
553         - get_input: vdbe_untrusted_ip_1
554         subinterface_vlan2_aap_sec_untrusted_ip_prefix:
555         - get_input: vdbe_aap_sec_untrusted_ip_prefix
556         - get_input: vdbe_aap_sec_untrusted_ip_prefix
557         port_vdbe_untr_vmi_name:
558         - str_replace:
559             template: VM_NAMEDBE001p1n004
560             params:
561               DBE:
562                 get_input: vdbe_device_name
563               VM_NAME:
564                 get_input: vdbe_name_1
565         - str_replace:
566             template: Port 3
567             params:
568               DBE:
569                 get_input: vdbe_device_name
570               VM_NAME:
571                 get_input: vdbe_name_1
572         compute_vdbe_name:
573         - get_input: vdbe_name_1
574         - get_input: vdbe_name_1
575         subinterface_vlan2_aap_untrusted_ip_prefix:
576         - get_input: vdbe_aap_untrusted_ip_prefix
577         - get_input: vdbe_aap_untrusted_ip_prefix
578         subinterface_vlan1_ip_v6_address:
579         - get_input: vdbe_untrusted_v6_ip_1
580         - get_input: vdbe_untrusted_v6_ip_1
581         subinterface_vlan2_vmac_address:
582         - get_input: vdbe_untrusted_vmac_address
583         - get_input: vdbe_untrusted_vmac_address
584         port_vdbe_untr_vmi_subinterface_indicator:
585         - true
586         - true
587         subinterface_vlan1_aap_untrusted_ip_prefix:
588         - get_input: vdbe_aap_untrusted_ip_prefix
589         - get_input: vdbe_aap_untrusted_ip_prefix
590         subinterface_vlan2_vn_network_list:
591         - fabric_int_net
592         - fabric_int_net
593         port_vdbe_untr_vmi_virtual_machine_interface_mac_addresses:
594         - - get_input: vdbe_hw_untr_mac_1
595         - - get_input: vdbe_hw_untr_mac_1
596         subinterface_vlan1_subinterfaces_name_prefix:
597         - str_replace:
598             template: VM_NAMEDBE001p1n004
599             params:
600               DBE:
601                 get_input: vdbe_device_name
602               VM_NAME:
603                 get_input: vdbe_name_1
604         - str_replace:
605             template: VM_NAMEDBE001p1n004
606             params:
607               DBE:
608                 get_input: vdbe_device_name
609               VM_NAME:
610                 get_input: vdbe_name_1
611         port_vdbe_untr_vmi_virtual_network_refs:
612         - - control_int_net
613         - - control_int_net
614         subinterface_vlan2_vlan_tag_list:
615         - get_input: untrusted_vlan_tags
616         - get_input: untrusted_vlan_tags
617         subinterface_vlan1_vn_network_list:
618         - get_input: untrusted_vn_networks
619         - get_input: untrusted_vn_networks
620         subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:
621         - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
622         - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
623         subinterface_vlan1_service_template_filter_count:
624         - get_input: untrusted_num_vn
625         - get_input: untrusted_num_vn
626         subinterface_vlan2_counter:
627         - get_input: counter
628         - get_input: counter
629         subinterface_vlan1_parent_interface:
630         - vdbe_1_untr_vmi_1
631         - vdbe_1_untr_vmi_2
632         subinterface_vlan1_aap_address_mode:
633         - get_input: aap_address_mode
634         - get_input: aap_address_mode
635         subinterface_vlan2_aap_untrusted_ip_prefix_len:
636         - get_input: vdbe_aap_untrusted_ip_prefix_len
637         - get_input: vdbe_aap_untrusted_ip_prefix_len
638         subinterface_vlan2_subinterfaces_name_prefix:
639         - str_replace:
640             template: VM_NAMEDBE001p1n004
641             params:
642               DBE:
643                 get_input: vdbe_device_name
644               VM_NAME:
645                 get_input: vdbe_name_1
646         - str_replace:
647             template: VM_NAMEDBE001p1n004
648             params:
649               DBE:
650                 get_input: vdbe_device_name
651               VM_NAME:
652                 get_input: vdbe_name_1
653         subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:
654         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
655         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
656         port_vdbe_oam_vmi_subinterface_indicator:
657         - true
658         - true
659         subinterface_vlan2_service_template_filter_count:
660         - 5
661         - 5
662         subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
663         - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
664         - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
665         subinterface_vlan1_vlan_tag_list:
666         - get_input: untrusted_vlan_tags
667         - get_input: untrusted_vlan_tags
668         service_template_filter:
669           substitute_service_template: Nested_vdbeServiceTemplate.yaml
670           count: 2
671         index_value:
672           get_property:
673           - SELF
674           - service_template_filter
675           - index_value
676       requirements:
677       - link_vdbe_vdbe_untr_vmi:
678           capability: tosca.capabilities.network.Linkable
679           node: control_int_net
680           relationship: tosca.relationships.network.LinksTo
681       - link_vdbe_vdbe_oam_vmi:
682           capability: tosca.capabilities.network.Linkable
683           node: fabric_int_net
684           relationship: tosca.relationships.network.LinksTo
685       - subinterface_link_vdbe_1_subint_oam_vmi_1_vdbe_vdbe_oam_vmi_vlan2:
686           capability: tosca.capabilities.network.Linkable
687           node: fabric_int_net
688           relationship: tosca.relationships.network.LinksTo
689   groups:
690     main_group:
691       type: org.openecomp.groups.heat.HeatStack
692       properties:
693         heat_file: ../Artifacts/main.yml
694         description: |
695           Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
696       members:
697       - fabric_int_net
698       - control_int_net
699       - abstract_vdbe
700     untr_group:
701       type: org.openecomp.groups.VfcInstanceGroup
702       properties:
703         vfc_parent_port_role: untr
704         network_collection_function:
705           get_input: untr_network_collection_function
706         vfc_instance_group_function:
707           get_input: untr_vfc_instance_group_function
708         subinterface_role: untr
709       members:
710       - abstract_vdbe
711     oam_group:
712       type: org.openecomp.groups.VfcInstanceGroup
713       properties:
714         vfc_parent_port_role: oam
715         network_collection_function:
716           get_input: oam_network_collection_function
717         vfc_instance_group_function:
718           get_input: oam_vfc_instance_group_function
719         subinterface_role: oam
720       members:
721       - abstract_vdbe