33f746f7f8ad41069a277ad61f93ff71b2c8af5e
[sdc.git] /
1 tosca_definitions_version: tosca_simple_yaml_1_0_0
2 metadata:
3   template_name: nested_pattern4
4 imports:
5 - openecomp_heat_index:
6     file: openecomp-heat/_index.yml
7 - GlobalSubstitutionTypes:
8     file: GlobalSubstitutionTypesServiceTemplate.yaml
9 node_types:
10   org.openecomp.resource.vfc.compute.nodes.heat.vdbe:
11     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
12 topology_template:
13   inputs:
14     vf_module_id:
15       hidden: false
16       immutable: false
17       type: string
18       description: Unique ID for this VF module inst
19     control_int_net_rpf:
20       hidden: false
21       immutable: false
22       type: string
23       description: Reverse Path Filtering enable or disable for the control virtual network
24     control_int_net_forwarding_mode:
25       hidden: false
26       immutable: false
27       type: string
28       description: forwarding mode of the control virtual network
29     vnf_name:
30       hidden: false
31       immutable: false
32       type: string
33       description: Unique name for this VF instance
34     vdbe_untrusted_ip_1:
35       hidden: false
36       immutable: false
37       type: string
38       description: IPV4 address of the secondary vDBE VM on the VAN untrusted network
39     vdbe_aap_untrusted_ip_prefix_len:
40       hidden: false
41       immutable: false
42       type: string
43       description: ip prefix length for the primary vDBE VM on the VAN untrusted network
44     untrusted_num_vn:
45       hidden: false
46       immutable: false
47       type: float
48       description: Number of vDBE subinterface virtual Networks
49       constraints:
50       - in_range:
51         - 1
52         - 77
53     vf_module_name:
54       hidden: false
55       immutable: false
56       type: string
57       description: Unique name for this VF Module instance
58     aap_address_mode:
59       hidden: false
60       immutable: false
61       type: string
62       description: Address mode for the vDBE cluster IP
63     control_int_net_shared:
64       hidden: false
65       immutable: false
66       type: boolean
67       description: control virtual network shared
68     vdbe_untrusted_v6_ip_1:
69       hidden: false
70       immutable: false
71       type: string
72       description: IPV6 address of the secondary vDBE VM on the VAN untrusted network
73     vdbe_untrusted_vmac_address:
74       hidden: false
75       immutable: false
76       type: string
77       description: Virtual MAC of the primary vDBE VM on the VAN untrusted network
78     control_int_net_flood_unknown_unicast:
79       hidden: false
80       immutable: false
81       type: boolean
82       description: forwarding mode of the control virtual network
83     port_vdbe_untr_1_port_network_role:
84       type: string
85       required: true
86     vdbe_aap_sec_untrusted_ip_prefix:
87       hidden: false
88       immutable: false
89       type: string
90       description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
91     vnf_id:
92       hidden: false
93       immutable: false
94       type: string
95       description: Unique ID for this VF inst
96     vdbe_name_1:
97       hidden: false
98       immutable: false
99       type: string
100       description: VM Name for this vdbe node 1
101     port_vdbe_untr_1_port_ip_requirements:
102       type: list
103       required: true
104       entry_schema:
105         type: org.openecomp.datatypes.network.IpRequirements
106     availability_zone_1:
107       hidden: false
108       immutable: false
109       type: string
110       description: The availability zone of secondary node1 vDBE vm in the local HA pair.
111     untrusted_vn_networks:
112       hidden: false
113       immutable: false
114       type: list
115       description: List of subinterface virtual networks
116       entry_schema:
117         type: string
118     vdbe_image_name:
119       hidden: false
120       immutable: false
121       type: string
122       description: Image to use for vDBE
123     oam_net_name:
124       hidden: false
125       immutable: false
126       type: string
127       description: Name of NSDNet network from which the management IP addresses will be allocated
128     vdbe_aap_sec_untrusted_ip_prefix_len:
129       hidden: false
130       immutable: false
131       type: string
132       description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
133     port_vdbe_untr_1_port_mac_requirements:
134       type: org.openecomp.datatypes.network.MacRequirements
135       required: true
136     port_vdbe_untr_1_port_order:
137       type: integer
138       required: true
139     vdbe_aap_untrusted_v6_ip_prefix:
140       hidden: false
141       immutable: false
142       type: string
143       description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
144     vdbe_aap_untrusted_v6_ip_prefix_len:
145       hidden: false
146       immutable: false
147       type: string
148       description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
149     untrusted_vlan_tags:
150       hidden: false
151       immutable: false
152       type: list
153       description: List of subinterface vlan tags
154       entry_schema:
155         type: string
156     vdbe_flavor_name:
157       hidden: false
158       immutable: false
159       type: string
160       description: Flavor to use for vDBE
161     port_vdbe_untr_1_port_exCP_naming:
162       type: org.openecomp.datatypes.Naming
163       required: true
164     port_vdbe_untr_1_port_subnetpoolid:
165       type: string
166       required: true
167     vdbe_hw_untr_mac_1:
168       hidden: false
169       immutable: false
170       type: string
171       description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network
172     untrusted_net_name:
173       hidden: false
174       immutable: false
175       type: string
176       description: Name of public untrusted network into which this vDBE HA cluster is deployed
177     port_vdbe_untr_1_port_network_role_tag:
178       type: string
179       required: true
180     vdbe_device_name:
181       hidden: false
182       immutable: false
183       type: string
184       description: VDBE device Name for this vdbe VNF
185     port_vdbe_untr_1_port_vlan_requirements:
186       type: list
187       required: true
188       entry_schema:
189         type: org.openecomp.datatypes.network.VlanRequirements
190     vdbe_aap_untrusted_ip_prefix:
191       hidden: false
192       immutable: false
193       type: string
194       description: ip prefix for primary vDBE VM on the VAN untrusted network
195   node_templates:
196     vdbe_node_1:
197       type: org.openecomp.resource.vfc.compute.nodes.heat.vdbe
198       properties:
199         flavor:
200           get_input: vdbe_flavor_name
201         availability_zone:
202           get_input: availability_zone_1
203         image:
204           get_input: vdbe_image_name
205         metadata:
206           vf_module_id:
207             get_input: vf_module_id
208           vnf_id:
209             get_input: vnf_id
210           vnf_name:
211             get_input: vnf_name
212         name:
213           get_input: vdbe_name_1
214     vdbe_untr_1_port:
215       type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
216       properties:
217         ip_requirements:
218           get_input: port_vdbe_untr_1_port_ip_requirements
219         network_role:
220           get_input: port_vdbe_untr_1_port_network_role
221         subnetpoolid:
222           get_input: port_vdbe_untr_1_port_subnetpoolid
223         mac_requirements:
224           get_input: port_vdbe_untr_1_port_mac_requirements
225         name:
226           str_replace:
227             template: VM_NAMEDBE001p1n004
228             params:
229               DBE:
230                 get_input: vdbe_device_name
231               VM_NAME:
232                 get_input: vdbe_name_1
233         exCP_naming:
234           get_input: port_vdbe_untr_1_port_exCP_naming
235         virtual_network_refs:
236         - control_int_net
237         vlan_requirements:
238           get_input: port_vdbe_untr_1_port_vlan_requirements
239         virtual_machine_interface_allowed_address_pairs:
240           allowed_address_pair:
241           - address_mode:
242               get_input: aap_address_mode
243             ip:
244               ip_prefix:
245                 get_input: vdbe_aap_untrusted_ip_prefix
246               ip_prefix_len:
247                 get_input: vdbe_aap_untrusted_ip_prefix_len
248             mac:
249               get_input: vdbe_untrusted_vmac_address
250           - address_mode:
251               get_input: aap_address_mode
252             ip:
253               ip_prefix:
254                 get_input: vdbe_aap_sec_untrusted_ip_prefix
255               ip_prefix_len:
256                 get_input: vdbe_aap_sec_untrusted_ip_prefix_len
257             mac:
258               get_input: vdbe_hw_untr_mac_1
259           - address_mode:
260               get_input: aap_address_mode
261             ip:
262               ip_prefix:
263                 get_input: vdbe_aap_untrusted_v6_ip_prefix
264               ip_prefix_len:
265                 get_input: vdbe_aap_untrusted_v6_ip_prefix_len
266             mac:
267               get_input: vdbe_untrusted_vmac_address
268         network_role_tag:
269           get_input: port_vdbe_untr_1_port_network_role_tag
270         virtual_machine_interface_mac_addresses:
271         - get_input: vdbe_hw_untr_mac_1
272         order:
273           get_input: port_vdbe_untr_1_port_order
274       requirements:
275       - link:
276           capability: tosca.capabilities.network.Linkable
277           node: control_int_net
278           relationship: tosca.relationships.network.LinksTo
279       - binding:
280           capability: tosca.capabilities.network.Bindable
281           node: vdbe_node_1
282           relationship: tosca.relationships.network.BindsTo
283     vdbe_untr_1_subports:
284       type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
285       directives:
286       - substitutable
287       properties:
288         aap_untrusted_ip_prefix:
289           get_input: vdbe_aap_untrusted_ip_prefix
290         aap_sec_untrusted_ip_prefix:
291           get_input: vdbe_aap_sec_untrusted_ip_prefix
292         ip_v6_address:
293           get_input: vdbe_untrusted_v6_ip_1
294         counter:
295           get_property:
296           - SELF
297           - service_template_filter
298           - index_value
299         ip_address:
300           get_input: vdbe_untrusted_ip_1
301         subinterfaces_name_prefix:
302           str_replace:
303             template: VM_NAMEDBE001p1n004
304             params:
305               DBE:
306                 get_input: vdbe_device_name
307               VM_NAME:
308                 get_input: vdbe_name_1
309         aap_address_mode:
310           get_input: aap_address_mode
311         service_template_filter:
312           substitute_service_template: nested_vlanServiceTemplate.yaml
313           count:
314             get_input: untrusted_num_vn
315           mandatory: false
316         aap_untrusted_v6_ip_prefix:
317           get_input: vdbe_aap_untrusted_v6_ip_prefix
318         parent_interface: vdbe_untr_1_port
319         vn_network_list:
320           get_input: untrusted_vn_networks
321         mac_address:
322           get_input: vdbe_hw_untr_mac_1
323         vlan_tag_list:
324           get_input: untrusted_vlan_tags
325         aap_sec_untrusted_ip_prefix_len:
326           get_input: vdbe_aap_sec_untrusted_ip_prefix_len
327         vmac_address:
328           get_input: vdbe_untrusted_vmac_address
329         aap_untrusted_v6_ip_prefix_len:
330           get_input: vdbe_aap_untrusted_v6_ip_prefix_len
331         aap_untrusted_ip_prefix_len:
332           get_input: vdbe_aap_untrusted_ip_prefix_len
333       requirements:
334       - binding_vdbe_untr_x_subport:
335           capability: tosca.capabilities.network.Bindable
336           node: vdbe_untr_1_port
337           relationship: tosca.relationships.network.BindsTo
338     control_int_net:
339       type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
340       properties:
341         network_name:
342           str_replace:
343             template: VNF_NAME_control_net
344             params:
345               VNF_NAME:
346                 get_input: vnf_name
347   groups:
348     nested_pattern4_group:
349       type: org.openecomp.groups.heat.HeatStack
350       properties:
351         heat_file: ../Artifacts/nested_pattern4.yml
352         description: |
353           Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
354       members:
355       - vdbe_node_1
356       - vdbe_untr_1_port
357       - vdbe_untr_1_subports
358       - control_int_net
359   substitution_mappings:
360     node_type: org.openecomp.resource.abstract.nodes.heat.vdbe
361     capabilities:
362       disk.latency_vdbe_node_1:
363       - vdbe_node_1
364       - disk.latency
365       binding_vdbe_node_1:
366       - vdbe_node_1
367       - binding
368       network.outgoing.bytes.rate_vdbe_untr_1_port:
369       - vdbe_untr_1_port
370       - network.outgoing.bytes.rate
371       instance_vdbe_node_1:
372       - vdbe_node_1
373       - instance
374       forwarder_vdbe_untr_1_port:
375       - vdbe_untr_1_port
376       - forwarder
377       disk.device.read.requests_vdbe_node_1:
378       - vdbe_node_1
379       - disk.device.read.requests
380       disk.device.usage_vdbe_node_1:
381       - vdbe_node_1
382       - disk.device.usage
383       disk.write.bytes_vdbe_node_1:
384       - vdbe_node_1
385       - disk.write.bytes
386       disk.device.write.bytes_vdbe_node_1:
387       - vdbe_node_1
388       - disk.device.write.bytes
389       disk.allocation_vdbe_node_1:
390       - vdbe_node_1
391       - disk.allocation
392       memory_vdbe_node_1:
393       - vdbe_node_1
394       - memory
395       cpu_util_vdbe_node_1:
396       - vdbe_node_1
397       - cpu_util
398       network.incoming.packets.rate_vdbe_untr_1_port:
399       - vdbe_untr_1_port
400       - network.incoming.packets.rate
401       disk.device.read.bytes_vdbe_node_1:
402       - vdbe_node_1
403       - disk.device.read.bytes
404       disk.device.read.bytes.rate_vdbe_node_1:
405       - vdbe_node_1
406       - disk.device.read.bytes.rate
407       disk.device.allocation_vdbe_node_1:
408       - vdbe_node_1
409       - disk.device.allocation
410       disk.write.requests.rate_vdbe_node_1:
411       - vdbe_node_1
412       - disk.write.requests.rate
413       disk.root.size_vdbe_node_1:
414       - vdbe_node_1
415       - disk.root.size
416       disk.device.iops_vdbe_node_1:
417       - vdbe_node_1
418       - disk.device.iops
419       disk.device.write.requests_vdbe_node_1:
420       - vdbe_node_1
421       - disk.device.write.requests
422       disk.write.requests_vdbe_node_1:
423       - vdbe_node_1
424       - disk.write.requests
425       network.incoming.bytes.rate_vdbe_untr_1_port:
426       - vdbe_untr_1_port
427       - network.incoming.bytes.rate
428       vcpus_vdbe_node_1:
429       - vdbe_node_1
430       - vcpus
431       binding_vdbe_untr_1_port:
432       - vdbe_untr_1_port
433       - binding
434       disk.ephemeral.size_vdbe_node_1:
435       - vdbe_node_1
436       - disk.ephemeral.size
437       network.outgoing.bytes_vdbe_untr_1_port:
438       - vdbe_untr_1_port
439       - network.outgoing.bytes
440       feature_vdbe_untr_1_subports:
441       - vdbe_untr_1_subports
442       - feature
443       disk.device.latency_vdbe_node_1:
444       - vdbe_node_1
445       - disk.device.latency
446       disk.capacity_vdbe_node_1:
447       - vdbe_node_1
448       - disk.capacity
449       disk.device.capacity_vdbe_node_1:
450       - vdbe_node_1
451       - disk.device.capacity
452       link_control_int_net:
453       - control_int_net
454       - link
455       network.incoming.bytes_vdbe_untr_1_port:
456       - vdbe_untr_1_port
457       - network.incoming.bytes
458       end_point_control_int_net:
459       - control_int_net
460       - end_point
461       disk.usage_vdbe_node_1:
462       - vdbe_node_1
463       - disk.usage
464       disk.read.bytes_vdbe_node_1:
465       - vdbe_node_1
466       - disk.read.bytes
467       feature_vdbe_untr_x_subport_vdbe_untr_1_subports:
468       - vdbe_untr_1_subports
469       - feature_vdbe_untr_x_subport
470       disk.device.read.requests.rate_vdbe_node_1:
471       - vdbe_node_1
472       - disk.device.read.requests.rate
473       host_vdbe_node_1:
474       - vdbe_node_1
475       - host
476       feature_control_int_net:
477       - control_int_net
478       - feature
479       cpu.delta_vdbe_node_1:
480       - vdbe_node_1
481       - cpu.delta
482       network.incoming.packets_vdbe_untr_1_port:
483       - vdbe_untr_1_port
484       - network.incoming.packets
485       scalable_vdbe_node_1:
486       - vdbe_node_1
487       - scalable
488       disk.iops_vdbe_node_1:
489       - vdbe_node_1
490       - disk.iops
491       feature_vdbe_node_1:
492       - vdbe_node_1
493       - feature
494       memory.resident_vdbe_node_1:
495       - vdbe_node_1
496       - memory.resident
497       endpoint_vdbe_node_1:
498       - vdbe_node_1
499       - endpoint
500       network.outgoing.packets.rate_vdbe_untr_1_port:
501       - vdbe_untr_1_port
502       - network.outgoing.packets.rate
503       os_vdbe_node_1:
504       - vdbe_node_1
505       - os
506       network.outpoing.packets_vdbe_untr_1_port:
507       - vdbe_untr_1_port
508       - network.outpoing.packets
509       disk.read.bytes.rate_vdbe_node_1:
510       - vdbe_node_1
511       - disk.read.bytes.rate
512       disk.device.write.bytes.rate_vdbe_node_1:
513       - vdbe_node_1
514       - disk.device.write.bytes.rate
515       attachment_control_int_net:
516       - control_int_net
517       - attachment
518       cpu_vdbe_node_1:
519       - vdbe_node_1
520       - cpu
521       disk.device.write.requests.rate_vdbe_node_1:
522       - vdbe_node_1
523       - disk.device.write.requests.rate
524       disk.read.requests_vdbe_node_1:
525       - vdbe_node_1
526       - disk.read.requests
527       disk.write.bytes.rate_vdbe_node_1:
528       - vdbe_node_1
529       - disk.write.bytes.rate
530       feature_vdbe_untr_1_port:
531       - vdbe_untr_1_port
532       - feature
533       memory.usage_vdbe_node_1:
534       - vdbe_node_1
535       - memory.usage
536     requirements:
537       dependency_vdbe_untr_x_subport_vdbe_untr_1_subports:
538       - vdbe_untr_1_subports
539       - dependency_vdbe_untr_x_subport
540       dependency_vdbe_node_1:
541       - vdbe_node_1
542       - dependency
543       local_storage_vdbe_node_1:
544       - vdbe_node_1
545       - local_storage
546       dependency_vdbe_untr_1_port:
547       - vdbe_untr_1_port
548       - dependency
549       dependency_control_int_net:
550       - control_int_net
551       - dependency
552       subinterface_link_vdbe_untr_x_subport_vdbe_untr_1_subports:
553       - vdbe_untr_1_subports
554       - subinterface_link_vdbe_untr_x_subport
555       dependency_vdbe_untr_1_subports:
556       - vdbe_untr_1_subports
557       - dependency