4fa2189c1168e4293812589d08ad3b0782f6ae8c
[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             - DPA3_New_VNF_TSBGv_base
20             source_type: HEAT
21             param_name: vf_module_id
22       type: string
23       description: Unique ID for this VNF Module instance
24     avpn_subnet_id:
25       hidden: false
26       immutable: false
27       annotations:
28         source:
29           type: org.openecomp.annotations.Source
30           properties:
31             vf_module_label:
32             - DPA3_New_VNF_TSBGv_base
33             source_type: HEAT
34             param_name: avpn_subnet_id
35       type: list
36       description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
37       entry_schema:
38         type: string
39     sbg_internal_allocation_pool_start_ip:
40       hidden: false
41       immutable: false
42       annotations:
43         source:
44           type: org.openecomp.annotations.Source
45           properties:
46             vf_module_label:
47             - DPA3_New_VNF_TSBGv_base
48             source_type: HEAT
49             param_name: sbg_internal_allocation_pool_start_ip
50       type: string
51       description: The start IP of the Internal network's allocation pool. Don't deviate from default!
52       constraints:
53       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
54     internal_net_id:
55       hidden: false
56       immutable: false
57       annotations:
58         source:
59           type: org.openecomp.annotations.Source
60           properties:
61             vf_module_label:
62             - DPA3_New_VNF_TSBGv_base
63             source_type: HEAT
64             param_name: internal_net_id
65       type: string
66       description: the UUID of the operator-created Internal network
67       constraints:
68       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
69     sbg_sc_flavor_name:
70       hidden: false
71       immutable: false
72       annotations:
73         source:
74           type: org.openecomp.annotations.Source
75           properties:
76             vf_module_label:
77             - DPA3_New_VNF_TSBGv_base
78             source_type: HEAT
79             param_name: sbg_sc_flavor_name
80       type: string
81       description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
82     sbg_management_cidr:
83       hidden: false
84       immutable: false
85       annotations:
86         source:
87           type: org.openecomp.annotations.Source
88           properties:
89             vf_module_label:
90             - DPA3_New_VNF_TSBGv_base
91             source_type: HEAT
92             param_name: sbg_management_cidr
93       type: string
94       description: Network address (CIDR notation) for SBG Management Network, IPv4
95       constraints:
96       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]
97     sbg_comte_floating_ip:
98       hidden: false
99       immutable: false
100       annotations:
101         source:
102           type: org.openecomp.annotations.Source
103           properties:
104             vf_module_label:
105             - DPA3_New_VNF_TSBGv_base
106             source_type: HEAT
107             param_name: sbg_comte_floating_ip
108       type: string
109       description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
110       constraints:
111       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
112     sbg_avpn_ips:
113       hidden: false
114       immutable: false
115       annotations:
116         source:
117           type: org.openecomp.annotations.Source
118           properties:
119             vf_module_label:
120             - DPA3_New_VNF_TSBGv_base
121             source_type: HEAT
122             param_name: sbg_avpn_ips
123       type: list
124       description: |
125         comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
126       entry_schema:
127         type: string
128     management_net_id:
129       hidden: false
130       immutable: false
131       annotations:
132         source:
133           type: org.openecomp.annotations.Source
134           properties:
135             vf_module_label:
136             - DPA3_New_VNF_TSBGv_base
137             source_type: HEAT
138             param_name: management_net_id
139       type: string
140       description: the UUID of the operator-created Management network
141       constraints:
142       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
143     sbg_sc_names:
144       hidden: false
145       immutable: false
146       annotations:
147         source:
148           type: org.openecomp.annotations.Source
149           properties:
150             vf_module_label:
151             - DPA3_New_VNF_TSBGv_base
152             source_type: HEAT
153             param_name: sbg_sc_names
154       type: list
155       description: comma delimited list of VM names assigned to System Controller VMs
156       entry_schema:
157         type: string
158     sbg_management_ips:
159       hidden: false
160       immutable: false
161       annotations:
162         source:
163           type: org.openecomp.annotations.Source
164           properties:
165             vf_module_label:
166             - DPA3_New_VNF_TSBGv_base
167             source_type: HEAT
168             param_name: sbg_management_ips
169       type: list
170       description: comma delimited list of IPv4 addresses of SBG VMs on the Management network.
171       entry_schema:
172         type: string
173     sbg_nfs_floating_ip:
174       hidden: false
175       immutable: false
176       annotations:
177         source:
178           type: org.openecomp.annotations.Source
179           properties:
180             vf_module_label:
181             - DPA3_New_VNF_TSBGv_base
182             source_type: HEAT
183             param_name: sbg_nfs_floating_ip
184       type: string
185       description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
186       constraints:
187       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
188     vnf_id:
189       hidden: false
190       immutable: false
191       annotations:
192         source:
193           type: org.openecomp.annotations.Source
194           properties:
195             vf_module_label:
196             - DPA3_New_VNF_TSBGv_base
197             source_type: HEAT
198             param_name: vnf_id
199       type: string
200       description: Unique ID for this VF instance
201     avpn_net_id:
202       hidden: false
203       immutable: false
204       annotations:
205         source:
206           type: org.openecomp.annotations.Source
207           properties:
208             vf_module_label:
209             - DPA3_New_VNF_TSBGv_base
210             source_type: HEAT
211             param_name: avpn_net_id
212       type: list
213       description: comma delimited list of the UUIDs of the operator-created AVPN networks
214       entry_schema:
215         type: string
216     availability_zone_0:
217       hidden: false
218       immutable: false
219       annotations:
220         source:
221           type: org.openecomp.annotations.Source
222           properties:
223             vf_module_label:
224             - DPA3_New_VNF_TSBGv_base
225             source_type: HEAT
226             param_name: availability_zone_0
227       type: string
228       description: First availability zone ID or Name.
229     sbg_internal_mac_addresses:
230       hidden: false
231       immutable: false
232       annotations:
233         source:
234           type: org.openecomp.annotations.Source
235           properties:
236             vf_module_label:
237             - DPA3_New_VNF_TSBGv_base
238             source_type: HEAT
239             param_name: sbg_internal_mac_addresses
240       type: list
241       description: comma delimited list of MAC addresses for the VMs on the Internal network
242       entry_schema:
243         type: string
244     sbg_management_floating_ip:
245       hidden: false
246       immutable: false
247       annotations:
248         source:
249           type: org.openecomp.annotations.Source
250           properties:
251             vf_module_label:
252             - DPA3_New_VNF_TSBGv_base
253             source_type: HEAT
254             param_name: sbg_management_floating_ip
255       type: string
256       description: Moveable Management IP (VIP), IPv4
257       constraints:
258       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
259     management_subnet_id:
260       hidden: false
261       immutable: false
262       annotations:
263         source:
264           type: org.openecomp.annotations.Source
265           properties:
266             vf_module_label:
267             - DPA3_New_VNF_TSBGv_base
268             source_type: HEAT
269             param_name: management_subnet_id
270       type: string
271       description: the UUID of the operator-created Management subnet, IPv4
272       constraints:
273       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
274     sbg_AVPN_vlan_tag_list:
275       hidden: false
276       immutable: false
277       annotations:
278         source:
279           type: org.openecomp.annotations.Source
280           properties:
281             vf_module_label:
282             - DPA3_New_VNF_TSBGv_base
283             source_type: HEAT
284             param_name: sbg_AVPN_vlan_tag_list
285       type: list
286       description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
287       entry_schema:
288         type: string
289     sbg_pl_names:
290       hidden: false
291       immutable: false
292       annotations:
293         source:
294           type: org.openecomp.annotations.Source
295           properties:
296             vf_module_label:
297             - DPA3_New_VNF_TSBGv_base
298             source_type: HEAT
299             param_name: sbg_pl_names
300       type: list
301       description: comma delimited list of VM names assigned to Payload VMs
302       entry_schema:
303         type: string
304     sbg_management_gateway_ip_0:
305       hidden: false
306       immutable: false
307       annotations:
308         source:
309           type: org.openecomp.annotations.Source
310           properties:
311             vf_module_label:
312             - DPA3_New_VNF_TSBGv_base
313             source_type: HEAT
314             param_name: sbg_management_gateway_ip_0
315       type: string
316       description: IPv4 IP address of the default gateway on Management network
317       constraints:
318       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
319     sbg_AVPN_count:
320       hidden: false
321       immutable: false
322       annotations:
323         source:
324           type: org.openecomp.annotations.Source
325           properties:
326             vf_module_label:
327             - DPA3_New_VNF_TSBGv_base
328             source_type: HEAT
329             param_name: sbg_AVPN_count
330       type: float
331       description: The number of AVPN networks
332       constraints:
333       - in_range:
334         - 1
335         - 999
336     ntp_servers:
337       hidden: false
338       immutable: false
339       annotations:
340         source:
341           type: org.openecomp.annotations.Source
342           properties:
343             vf_module_label:
344             - DPA3_New_VNF_TSBGv_base
345             source_type: HEAT
346             param_name: ntp_servers
347       type: list
348       description: comma delimited list of NTP servers required by System Controller VMs. Exactly 2 IPv4 values are required
349       entry_schema:
350         type: string
351     sbg_management_mac_addresses:
352       hidden: false
353       immutable: false
354       annotations:
355         source:
356           type: org.openecomp.annotations.Source
357           properties:
358             vf_module_label:
359             - DPA3_New_VNF_TSBGv_base
360             source_type: HEAT
361             param_name: sbg_management_mac_addresses
362       type: list
363       description: comma delimited list of MAC addresses for the VMs on the Management network
364       entry_schema:
365         type: string
366     core_subnet_id:
367       hidden: false
368       immutable: false
369       annotations:
370         source:
371           type: org.openecomp.annotations.Source
372           properties:
373             vf_module_label:
374             - DPA3_New_VNF_TSBGv_base
375             source_type: HEAT
376             param_name: core_subnet_id
377       type: string
378       description: the UUID of the operator-created Core subnet, IPv4
379       constraints:
380       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
381     sbg_internal_ips:
382       hidden: false
383       immutable: false
384       annotations:
385         source:
386           type: org.openecomp.annotations.Source
387           properties:
388             vf_module_label:
389             - DPA3_New_VNF_TSBGv_base
390             source_type: HEAT
391             param_name: sbg_internal_ips
392       type: list
393       description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
394       entry_schema:
395         type: string
396     sbg_boot_floating_ip:
397       hidden: false
398       immutable: false
399       annotations:
400         source:
401           type: org.openecomp.annotations.Source
402           properties:
403             vf_module_label:
404             - DPA3_New_VNF_TSBGv_base
405             source_type: HEAT
406             param_name: sbg_boot_floating_ip
407       type: string
408       description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
409       constraints:
410       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
411     sbg_sc_volume_id_0:
412       hidden: false
413       immutable: false
414       annotations:
415         source:
416           type: org.openecomp.annotations.Source
417           properties:
418             vf_module_label:
419             - DPA3_New_VNF_TSBGv_base
420             source_type: HEAT
421             param_name: sbg_sc_volume_id_0
422       type: string
423       description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
424       constraints:
425       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
426     sbg_pl_flavor_name:
427       hidden: false
428       immutable: false
429       annotations:
430         source:
431           type: org.openecomp.annotations.Source
432           properties:
433             vf_module_label:
434             - DPA3_New_VNF_TSBGv_base
435             source_type: HEAT
436             param_name: sbg_pl_flavor_name
437       type: string
438       description: Flavor to use for PL VM. Minimum 8 non-HT vCPU and 64GB RAM required
439     sbg_internal_allocation_pool_end_ip:
440       hidden: false
441       immutable: false
442       annotations:
443         source:
444           type: org.openecomp.annotations.Source
445           properties:
446             vf_module_label:
447             - DPA3_New_VNF_TSBGv_base
448             source_type: HEAT
449             param_name: sbg_internal_allocation_pool_end_ip
450       type: string
451       description: The end IP of the Internal network's allocation pool. Don't deviate from default!
452       constraints:
453       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
454     sbg_sc_volume_id_1:
455       hidden: false
456       immutable: false
457       annotations:
458         source:
459           type: org.openecomp.annotations.Source
460           properties:
461             vf_module_label:
462             - DPA3_New_VNF_TSBGv_base
463             source_type: HEAT
464             param_name: sbg_sc_volume_id_1
465       type: string
466       description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
467       constraints:
468       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
469     sbg_internal_cidr:
470       hidden: false
471       immutable: false
472       annotations:
473         source:
474           type: org.openecomp.annotations.Source
475           properties:
476             vf_module_label:
477             - DPA3_New_VNF_TSBGv_base
478             source_type: HEAT
479             param_name: sbg_internal_cidr
480       type: string
481       description: Network address (CIDR notation) for SBG intra-VM communication, IPv4. Don't deviate from default!
482       constraints:
483       - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]
484     dummy_subnet_id:
485       hidden: false
486       immutable: false
487       annotations:
488         source:
489           type: org.openecomp.annotations.Source
490           properties:
491             vf_module_label:
492             - DPA3_New_VNF_TSBGv_base
493             source_type: HEAT
494             param_name: dummy_subnet_id
495       type: string
496       description: the UUID of the operator-created dummy subnet, IPv4
497       constraints:
498       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
499     trunk_net_id:
500       hidden: false
501       immutable: false
502       annotations:
503         source:
504           type: org.openecomp.annotations.Source
505           properties:
506             vf_module_label:
507             - DPA3_New_VNF_TSBGv_base
508             source_type: HEAT
509             param_name: trunk_net_id
510       type: string
511       description: the UUID of the operator-created Traffic network
512       constraints:
513       - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
514   node_templates:
515     sbg_pl_trunk_subport_avpn_group_0:
516       type: org.openecomp.resource.abstract.nodes.heat.DPA3_New_VNF_TSBGv_nested_AVPN_subport
517       directives:
518       - substitutable
519       properties:
520         nested_avpn_net_id:
521           get_input: avpn_net_id
522         service_template_filter:
523           substitute_service_template: DPA3_New_VNF_TSBGv_nested_AVPN_subportServiceTemplate.yaml
524           count:
525             get_input: sbg_AVPN_count
526           mandatory: false
527         nested_sbg_AVPN_vlan_tag_list:
528           get_input: sbg_AVPN_vlan_tag_list
529         nested_sbg_avpn_ip_0:
530           get_input:
531           - sbg_avpn_ips
532           - 0
533         nested_avpn_subnet_id:
534           get_input: avpn_subnet_id
535         nested_sbg_AVPN_counter:
536           get_property:
537           - SELF
538           - service_template_filter
539           - index_value
540     abstract_sbg_sc:
541       type: org.openecomp.resource.abstract.nodes.sbg_sc
542       directives:
543       - substitutable
544       properties:
545         port_sbg_sc_internal_0_port_mac_requirements:
546           mac_count_required:
547             is_required: true
548         compute_sbg_sc_config_drive:
549         - true
550         port_sbg_sc_management_1_port_allowed_address_pairs:
551         - ip_address:
552             get_input: sbg_management_floating_ip
553         port_sbg_sc_internal_0_port_fixed_ips:
554         - ip_address:
555             get_input:
556             - sbg_internal_ips
557             - 0
558         vm_flavor_name:
559           get_input: sbg_sc_flavor_name
560         port_sbg_sc_internal_0_port_replacement_policy:
561         - AUTO
562         port_sbg_sc_management_1_port_replacement_policy:
563         - AUTO
564         port_sbg_sc_management_1_port_ip_requirements:
565         - ip_version: 4
566           ip_count_required:
567             is_required: true
568           floating_ip_count_required:
569             is_required: true
570         port_sbg_sc_management_1_port_mac_address:
571           get_input:
572           - sbg_management_mac_addresses
573           - 0
574         compute_sbg_sc_user_data_format:
575         - RAW
576         port_sbg_sc_management_1_port_fixed_ips:
577         - ip_address:
578             get_input:
579             - sbg_management_ips
580             - 0
581         compute_sbg_sc_name:
582         - get_input:
583           - sbg_sc_names
584           - 0
585         port_sbg_sc_internal_0_port_allowed_address_pairs:
586         - ip_address:
587             get_input: sbg_nfs_floating_ip
588         - ip_address:
589             get_input: sbg_comte_floating_ip
590         - ip_address:
591             get_input: sbg_boot_floating_ip
592         port_sbg_sc_internal_0_port_ip_requirements:
593         - ip_version: 4
594           ip_count_required:
595             is_required: true
596           floating_ip_count_required:
597             is_required: true
598         compute_sbg_sc_metadata:
599         - vf_module_id:
600             get_input: vf_module_id
601           vnf_id:
602             get_input: vnf_id
603         port_sbg_sc_internal_0_port_network_role_tag: internal
604         port_sbg_sc_internal_0_port_network:
605         - get_input: internal_net_id
606         port_sbg_sc_management_1_port_network:
607         - get_input: management_net_id
608         port_sbg_sc_management_1_port_mac_requirements:
609           mac_count_required:
610             is_required: true
611         port_sbg_sc_management_1_port_network_role_tag: management
612         port_sbg_sc_internal_0_port_mac_address:
613           get_input:
614           - sbg_internal_mac_addresses
615           - 0
616         port_sbg_sc_management_1_port_subinterface_indicator:
617         - false
618         compute_sbg_sc_availability_zone:
619         - get_input: availability_zone_0
620         port_sbg_sc_internal_0_port_subinterface_indicator:
621         - false
622         service_template_filter:
623           substitute_service_template: Nested_sbg_scServiceTemplate.yaml
624           count: 1
625         index_value:
626           get_property:
627           - SELF
628           - service_template_filter
629           - index_value
630     nested_sbg:
631       type: org.openecomp.resource.abstract.nodes.heat.sbg_sc
632       directives:
633       - substitutable
634       properties:
635         nested_avpn_net_id:
636           get_input: avpn_net_id
637         service_template_filter:
638           substitute_service_template: nested_DPA3_New_VNF_TSBGvServiceTemplate.yaml
639         port_sbg_sc_management_1_port_01_mac_requirements:
640           mac_count_required:
641             is_required: true
642         port_sbg_sc_internal_0_port_01_ip_requirements:
643         - ip_version: 4
644           ip_count_required:
645             is_required: true
646           floating_ip_count_required:
647             is_required: true
648         port_sbg_sc_management_1_port_01_ip_requirements:
649         - ip_version: 4
650           ip_count_required:
651             is_required: true
652           floating_ip_count_required:
653             is_required: true
654         nested_sbg_AVPN_vlan_tag_list:
655           get_input: sbg_AVPN_vlan_tag_list
656         port_sbg_sc_internal_0_port_01_mac_requirements:
657           mac_count_required:
658             is_required: true
659         port_sbg_sc_management_1_port_01_network_role_tag: management
660         nested_sbg_avpn_ip_0:
661           get_input:
662           - sbg_avpn_ips
663           - 0
664         port_sbg_sc_internal_0_port_01_network_role_tag: internal
665         nested_avpn_subnet_id:
666           get_input: avpn_subnet_id
667         nested_sbg_AVPN_counter: '%index%'
668   groups:
669     DPA3_New_VNF_TSBGv_base_group:
670       type: org.openecomp.groups.heat.HeatStack
671       properties:
672         heat_file: ../Artifacts/DPA3_New_VNF_TSBGv_base.yaml
673         description: |
674           SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
675       members:
676       - sbg_pl_trunk_subport_avpn_group_0
677       - nested_sbg
678       - abstract_sbg_sc