[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-be / lib / openecomp-sdc-translator-lib / openecomp-sdc-translator-core / src / test / resources / mock / services / heattotosca / subInterfaceToInterfaceConnection / vTSBC_AIC / expectedoutputfiles / perimeta_ha_swmu_aServiceTemplate.yaml
1 tosca_definitions_version: tosca_simple_yaml_1_0_0
2 metadata:
3   template_name: perimeta_ha_swmu_a
4 imports:
5 - CommonGlobalTypes:
6     file: CommonGlobalTypesServiceTemplate.yaml
7 - NovaServerGlobalTypes:
8     file: NovaServerGlobalTypesServiceTemplate.yaml
9 - NeutronPortGlobalTypes:
10     file: NeutronPortGlobalTypesServiceTemplate.yaml
11 - NeutronSecurityRulesGlobalTypes:
12     file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
13 - NeutronNetGlobalTypes:
14     file: NeutronNetGlobalTypesServiceTemplate.yaml
15 - CinderVolumeGlobalTypes:
16     file: CinderVolumeGlobalTypesServiceTemplate.yaml
17 - ContrailVirtualNetworkGlobalType:
18     file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
19 - ContrailNetworkRuleGlobalType:
20     file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
21 - AbstractSubstituteGlobalTypes:
22     file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
23 - ContrailV2VirtualMachineInterfaceGlobalType:
24     file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
25 - ContrailComputeGlobalTypes:
26     file: ContrailComputeGlobalTypesServiceTemplate.yaml
27 - ContrailPortGlobalTypes:
28     file: ContrailPortGlobalTypesServiceTemplate.yaml
29 - ContrailAbstractSubstituteGlobalTypes:
30     file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
31 - ContrailV2VirtualNetworkGlobalType:
32     file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
33 - ContrailV2NetworkRuleGlobalType:
34     file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
35 - ContrailV2VLANSubInterfaceGlobalType:
36     file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
37 - GlobalSubstitutionTypes:
38     file: GlobalSubstitutionTypesServiceTemplate.yaml
39 node_types:
40   org.openecomp.resource.vfc.nodes.heat.vm_a:
41     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
42 topology_template:
43   inputs:
44     vf_module_id:
45       hidden: false
46       immutable: false
47       type: string
48       description: Unique ID for this VF Module instance
49     untrusted_net_id:
50       hidden: false
51       immutable: false
52       type: string
53       description: Service network 2 network UUID
54       constraints: [
55         ]
56     mgmt_net_plen:
57       hidden: false
58       immutable: false
59       type: string
60       description: Prefix length of management network
61     perimeta_config:
62       hidden: false
63       immutable: false
64       type: string
65       description: Orchestration template configuration for instance.
66     vm_a_names:
67       hidden: false
68       immutable: false
69       type: list
70       description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
71       entry_schema:
72         type: string
73     serv3_vips:
74       hidden: false
75       immutable: false
76       type: list
77       description: List of service network 3 virtual IP addresses for all instances.
78       entry_schema:
79         type: string
80     untrusted_b_ips:
81       hidden: false
82       immutable: false
83       type: list
84       description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
85       entry_schema:
86         type: string
87     ha_net_id:
88       hidden: false
89       immutable: false
90       type: string
91       description: HA network id
92       constraints: [
93         ]
94     perimeta_param_server_group:
95       hidden: false
96       immutable: false
97       type: string
98       description: Server group to use for these VMs - ignored
99     untrusted_vlan_networks:
100       hidden: false
101       immutable: false
102       type: list
103       description: List of Contrail VLAN networks to use on the untrusted/access network.   The order and number of these must match the VLAN ID list.
104       entry_schema:
105         type: string
106     mgmt_sec_groups:
107       hidden: false
108       immutable: false
109       type: list
110       description: List of security groups to add on management interfaces.
111       entry_schema:
112         type: string
113     perimeta_instance_index:
114       hidden: false
115       immutable: false
116       type: float
117       description: Index of instance among multiple instances.  Use to retrieve correct parameter for this instance when passed all parameters for all instances.
118     untrusted_vlan_ids:
119       hidden: false
120       immutable: false
121       type: list
122       description: List of VLAN IDs to use on the untrusted/access network
123       entry_schema:
124         type: string
125     serv3_net_id:
126       hidden: false
127       immutable: false
128       type: string
129       description: Service network 3 network UUID
130     perimeta_keypair:
131       hidden: false
132       immutable: false
133       type: string
134       description: Keypair to use for accessing this Perimeta instance
135       constraints: [
136         ]
137     mgmt_vips:
138       hidden: false
139       immutable: false
140       type: list
141       description: List of management virtual IP addresses for all instances.
142       entry_schema:
143         type: string
144     untrusted_vips:
145       hidden: false
146       immutable: false
147       type: list
148       description: List of service network 2 virtual IP addresses for all instances.
149       entry_schema:
150         type: string
151     vnf_id:
152       hidden: false
153       immutable: false
154       type: string
155       description: VNF ID of this deployment
156     availability_zone_0:
157       hidden: false
158       immutable: false
159       type: string
160       description: Availability zone for A instances.
161     availability_zone_1:
162       hidden: false
163       immutable: false
164       type: string
165       description: Availability zone for B instances.  May be the same as A instance.
166     serv3_a_ips:
167       hidden: false
168       immutable: false
169       type: list
170       description: List of fixed IP addresses to use as serv3 fixed IPs of A instances.
171       entry_schema:
172         type: string
173     unused_net_id:
174       hidden: false
175       immutable: false
176       type: string
177       description: Service network unused port network UUID
178     ha_a_ips:
179       hidden: false
180       immutable: false
181       type: list
182       description: List of fixed IP addresses to use as HA IPs of A instances.
183       entry_schema:
184         type: string
185     untrusted_v6_vips:
186       hidden: false
187       immutable: false
188       type: list
189       description: List of service network 2 alternate virtual IP addresses for all instances.
190       entry_schema:
191         type: string
192     ha_sec_groups:
193       hidden: false
194       immutable: false
195       type: list
196       description: List of security groups to add on HA interfaces.
197       entry_schema:
198         type: string
199     trusted_a_ips:
200       hidden: false
201       immutable: false
202       type: list
203       description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
204       entry_schema:
205         type: string
206     untrusted_num_vlans:
207       hidden: false
208       immutable: false
209       type: float
210       description: Number of VLANs to connect to on the untrusted/access network
211     system_names:
212       hidden: false
213       immutable: false
214       type: list
215       description: List of system names of Perimeta instances.  Name of a specific instance is indexed by perimeta_instance_index
216       entry_schema:
217         type: string
218     vm_b_names:
219       hidden: false
220       immutable: false
221       type: list
222       description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
223       entry_schema:
224         type: string
225     trusted_sec_groups:
226       hidden: false
227       immutable: false
228       type: list
229       description: List of security groups to add on trusted interfaces.
230       entry_schema:
231         type: string
232     serv3_sec_groups:
233       hidden: false
234       immutable: false
235       type: list
236       description: List of security groups to add on serv3 interfaces.
237       entry_schema:
238         type: string
239     trusted_vips:
240       hidden: false
241       immutable: false
242       type: list
243       description: List of service network 1 virtual IP addresses for all instances.
244       entry_schema:
245         type: string
246     trusted_net_id:
247       hidden: false
248       immutable: false
249       type: string
250       description: Service network 1 network UUID
251       constraints: [
252         ]
253     serv3_b_ips:
254       hidden: false
255       immutable: false
256       type: list
257       description: List of fixed IP addresses to use as serv3 fixed IPs of B instances.
258       entry_schema:
259         type: string
260     ha_b_ips:
261       hidden: false
262       immutable: false
263       type: list
264       description: List of fixed IP addresses to use as HA IPs of B instances.
265       entry_schema:
266         type: string
267     untrusted_a_v6_ips:
268       hidden: false
269       immutable: false
270       type: list
271       description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
272       entry_schema:
273         type: string
274     untrusted_b_v6_ips:
275       hidden: false
276       immutable: false
277       type: list
278       description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
279       entry_schema:
280         type: string
281     mgmt_a_ips:
282       hidden: false
283       immutable: false
284       type: list
285       description: List of fixed IP addresses to use as management IPs of A instances.
286       entry_schema:
287         type: string
288     vm_role:
289       hidden: false
290       immutable: false
291       type: string
292       description: Role of these VMs
293     trusted_b_ips:
294       hidden: false
295       immutable: false
296       type: list
297       description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
298       entry_schema:
299         type: string
300     perimeta_image_name:
301       hidden: false
302       immutable: false
303       type: string
304       description: Glance image for Perimeta instance
305       constraints: [
306         ]
307     mgmt_net_default_gateway:
308       hidden: false
309       immutable: false
310       type: string
311       description: IP address of management default gateway
312     untrusted_a_ips:
313       hidden: false
314       immutable: false
315       type: list
316       description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
317       entry_schema:
318         type: string
319     untrusted_sec_groups:
320       hidden: false
321       immutable: false
322       type: list
323       description: List of security groups to add on untrusted interfaces.
324       entry_schema:
325         type: string
326     mgmt_net_id:
327       hidden: false
328       immutable: false
329       type: string
330       description: Management network id
331       constraints: [
332         ]
333     perimeta_flavor_name:
334       hidden: false
335       immutable: false
336       type: string
337       description: Flavor to use for creating VM instances
338       constraints: [
339         ]
340     ha_network_plen:
341       hidden: false
342       immutable: false
343       type: float
344       constraints:
345       - in_range:
346         - 0
347         - 32
348     mgmt_b_ips:
349       hidden: false
350       immutable: false
351       type: list
352       description: List of fixed IP addresses to use as management IPs of B instances.
353       entry_schema:
354         type: string
355   node_templates:
356     perimeta_a_unused_0_port:
357       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
358       properties:
359         name:
360           str_replace:
361             template: $VM_unused_port
362             params:
363               $VM:
364                 get_input:
365                 - vm_a_names
366                 - get_input: perimeta_instance_index
367         network:
368           get_input: unused_net_id
369       requirements:
370       - binding:
371           capability: tosca.capabilities.network.Bindable
372           node: perimeta_a_server_0
373           relationship: tosca.relationships.network.BindsTo
374     perimeta_a_untrusted_0_vlan_ports:
375       type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
376       directives:
377       - substitutable
378       properties:
379         vlan_ids:
380           get_input: untrusted_vlan_ids
381         service_template_filter:
382           substitute_service_template: vlan_subinterface_dualServiceTemplate.yaml
383           count:
384             get_input: untrusted_num_vlans
385           mandatory: false
386         parent_interface: perimeta_a_untrusted_0_port
387         virtual_ipv6_address:
388           get_input:
389           - untrusted_v6_vips
390           - get_input: perimeta_instance_index
391         virtual_ip_address:
392           get_input:
393           - untrusted_vips
394           - get_input: perimeta_instance_index
395         mac_address:
396           get_attribute:
397           - perimeta_a_untrusted_0_port
398           - mac_address
399         ipv6_address:
400           get_input:
401           - untrusted_a_v6_ips
402           - get_input: perimeta_instance_index
403         subinterface_name_prefix:
404           str_replace:
405             template: $VM_untrusted_port_vlan_
406             params:
407               $VM:
408                 get_input:
409                 - vm_a_names
410                 - get_input: perimeta_instance_index
411         subinterface_instance_index:
412           get_property:
413           - SELF
414           - service_template_filter
415           - index_value
416         ip_address:
417           get_input:
418           - untrusted_a_ips
419           - get_input: perimeta_instance_index
420         vlan_networks:
421           get_input: untrusted_vlan_networks
422       requirements:
423       - binding_contrail_vmi_subinterface:
424           capability: tosca.capabilities.network.Bindable
425           node: perimeta_a_untrusted_0_port
426           relationship: tosca.relationships.network.BindsTo
427     perimeta_a_serv3_0_port:
428       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
429       properties:
430         security_groups:
431           get_input: serv3_sec_groups
432         fixed_ips:
433         - ip_address:
434             get_input:
435             - serv3_a_ips
436             - get_input: perimeta_instance_index
437         allowed_address_pairs:
438         - ip_address:
439             get_input:
440             - serv3_vips
441             - get_input: perimeta_instance_index
442         name:
443           str_replace:
444             template: $VM_serv3_port
445             params:
446               $VM:
447                 get_input:
448                 - vm_a_names
449                 - get_input: perimeta_instance_index
450         network:
451           get_input: serv3_net_id
452       requirements:
453       - binding:
454           capability: tosca.capabilities.network.Bindable
455           node: perimeta_a_server_0
456           relationship: tosca.relationships.network.BindsTo
457     perimeta_a_server_0:
458       type: org.openecomp.resource.vfc.nodes.heat.vm_a
459       properties:
460         flavor:
461           get_input: perimeta_flavor_name
462         key_name:
463           get_input: perimeta_keypair
464         availability_zone:
465           get_input: availability_zone_0
466         image:
467           get_input: perimeta_image_name
468         metadata:
469           vf_module_id:
470             get_input: vf_module_id
471           vm_role:
472             str_replace:
473               template: $ROLE_a
474               params:
475                 $ROLE:
476                   get_input: vm_role
477           vnf_id:
478             get_input: vnf_id
479         config_drive: true
480         personality:
481           /opt/MetaSwitch/init/custom.ini:
482             get_artifact:
483             - SELF
484             - custom
485         user_data_format: RAW
486         name:
487           get_input:
488           - vm_a_names
489           - get_input: perimeta_instance_index
490         scheduler_hints:
491           group:
492             get_input: perimeta_param_server_group
493       artifacts:
494         custom:
495           type: tosca.artifacts.Deployment
496           file: ../Artifacts/custom.ini
497     perimeta_a_mgmt_0_port:
498       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
499       properties:
500         security_groups:
501           get_input: mgmt_sec_groups
502         fixed_ips:
503         - ip_address:
504             get_input:
505             - mgmt_a_ips
506             - get_input: perimeta_instance_index
507         allowed_address_pairs:
508         - ip_address:
509             get_input:
510             - mgmt_vips
511             - get_input: perimeta_instance_index
512         name:
513           str_replace:
514             template: $VM_mgmt_port
515             params:
516               $VM:
517                 get_input:
518                 - vm_a_names
519                 - get_input: perimeta_instance_index
520         network:
521           get_input: mgmt_net_id
522       requirements:
523       - binding:
524           capability: tosca.capabilities.network.Bindable
525           node: perimeta_a_server_0
526           relationship: tosca.relationships.network.BindsTo
527     perimeta_a_ha_0_port:
528       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
529       properties:
530         security_groups:
531           get_input: ha_sec_groups
532         fixed_ips:
533         - ip_address:
534             get_input:
535             - ha_a_ips
536             - get_input: perimeta_instance_index
537         name:
538           str_replace:
539             template: $VM_ha_port
540             params:
541               $VM:
542                 get_input:
543                 - vm_a_names
544                 - get_input: perimeta_instance_index
545         network:
546           get_input: ha_net_id
547       requirements:
548       - binding:
549           capability: tosca.capabilities.network.Bindable
550           node: perimeta_a_server_0
551           relationship: tosca.relationships.network.BindsTo
552     perimeta_a_trusted_0_port:
553       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
554       properties:
555         security_groups:
556           get_input: trusted_sec_groups
557         fixed_ips:
558         - ip_address:
559             get_input:
560             - trusted_a_ips
561             - get_input: perimeta_instance_index
562         allowed_address_pairs:
563         - ip_address:
564             get_input:
565             - trusted_vips
566             - get_input: perimeta_instance_index
567         name:
568           str_replace:
569             template: $VM_trusted_port
570             params:
571               $VM:
572                 get_input:
573                 - vm_a_names
574                 - get_input: perimeta_instance_index
575         network:
576           get_input: trusted_net_id
577       requirements:
578       - binding:
579           capability: tosca.capabilities.network.Bindable
580           node: perimeta_a_server_0
581           relationship: tosca.relationships.network.BindsTo
582     perimeta_a_untrusted_0_port:
583       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
584       properties:
585         security_groups:
586           get_input: untrusted_sec_groups
587         fixed_ips:
588         - ip_address:
589             get_input:
590             - untrusted_a_ips
591             - get_input: perimeta_instance_index
592         - ip_address:
593             get_input:
594             - untrusted_a_v6_ips
595             - get_input: perimeta_instance_index
596         allowed_address_pairs:
597         - ip_address:
598             get_input:
599             - untrusted_vips
600             - get_input: perimeta_instance_index
601         - ip_address:
602             get_input:
603             - untrusted_v6_vips
604             - get_input: perimeta_instance_index
605         name:
606           str_replace:
607             template: $VM_untrusted_port
608             params:
609               $VM:
610                 get_input:
611                 - vm_a_names
612                 - get_input: perimeta_instance_index
613         network:
614           get_input: untrusted_net_id
615       requirements:
616       - binding:
617           capability: tosca.capabilities.network.Bindable
618           node: perimeta_a_server_0
619           relationship: tosca.relationships.network.BindsTo
620   groups:
621     perimeta_ha_swmu_a_group:
622       type: org.openecomp.groups.heat.HeatStack
623       properties:
624         heat_file: ../Artifacts/perimeta_ha_swmu_a.yaml
625         description: |
626           HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
627       members:
628       - perimeta_a_unused_0_port
629       - perimeta_a_untrusted_0_vlan_ports
630       - perimeta_a_serv3_0_port
631       - perimeta_a_server_0
632       - perimeta_a_mgmt_0_port
633       - perimeta_a_ha_0_port
634       - perimeta_a_trusted_0_port
635       - perimeta_a_untrusted_0_port
636   outputs:
637     server_group_used:
638       description: Server group used for these VMs
639       value:
640         get_input: perimeta_param_server_group
641   substitution_mappings:
642     node_type: org.openecomp.resource.abstract.nodes.heat.perimeta_ha_swmu_a
643     capabilities:
644       scalable_perimeta_a_server_0:
645       - perimeta_a_server_0
646       - scalable
647       attachment_perimeta_a_mgmt_0_port:
648       - perimeta_a_mgmt_0_port
649       - attachment
650       binding_perimeta_a_server_0:
651       - perimeta_a_server_0
652       - binding
653       host_perimeta_a_server_0:
654       - perimeta_a_server_0
655       - host
656       attachment_perimeta_a_trusted_0_port:
657       - perimeta_a_trusted_0_port
658       - attachment
659       attachment_perimeta_a_untrusted_0_port:
660       - perimeta_a_untrusted_0_port
661       - attachment
662       attachment_perimeta_a_ha_0_port:
663       - perimeta_a_ha_0_port
664       - attachment
665       binding_perimeta_a_mgmt_0_port:
666       - perimeta_a_mgmt_0_port
667       - binding
668       binding_perimeta_a_trusted_0_port:
669       - perimeta_a_trusted_0_port
670       - binding
671       binding_perimeta_a_untrusted_0_port:
672       - perimeta_a_untrusted_0_port
673       - binding
674       endpoint_perimeta_a_server_0:
675       - perimeta_a_server_0
676       - endpoint
677       binding_perimeta_a_unused_0_port:
678       - perimeta_a_unused_0_port
679       - binding
680       attachment_perimeta_a_serv3_0_port:
681       - perimeta_a_serv3_0_port
682       - attachment
683       attachment_perimeta_a_unused_0_port:
684       - perimeta_a_unused_0_port
685       - attachment
686       binding_perimeta_a_ha_0_port:
687       - perimeta_a_ha_0_port
688       - binding
689       os_perimeta_a_server_0:
690       - perimeta_a_server_0
691       - os
692       binding_perimeta_a_serv3_0_port:
693       - perimeta_a_serv3_0_port
694       - binding
695     requirements:
696       link_perimeta_a_trusted_0_port:
697       - perimeta_a_trusted_0_port
698       - link
699       link_perimeta_a_unused_0_port:
700       - perimeta_a_unused_0_port
701       - link
702       link_perimeta_a_mgmt_0_port:
703       - perimeta_a_mgmt_0_port
704       - link
705       link_contrail_vmi_subinterface_perimeta_a_untrusted_0_vlan_ports:
706       - perimeta_a_untrusted_0_vlan_ports
707       - link_contrail_vmi_subinterface
708       link_perimeta_a_untrusted_0_port:
709       - perimeta_a_untrusted_0_port
710       - link
711       link_perimeta_a_serv3_0_port:
712       - perimeta_a_serv3_0_port
713       - link
714       link_perimeta_a_ha_0_port:
715       - perimeta_a_ha_0_port
716       - link
717       local_storage_perimeta_a_server_0:
718       - perimeta_a_server_0
719       - local_storage