74283924aedf231b94bd9a6d8d71368c7963b3c0
[sdc.git] /
1 tosca_definitions_version: tosca_simple_yaml_1_0_0
2 metadata:
3   template_name: mvs.nested.heat
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.nodes.heat.vnfci:
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 instance
19     vf_name:
20       hidden: false
21       immutable: false
22       type: string
23       description: The VF Name; defaults to VMVM for the virtual MVM VNF.
24       constraints:
25       - pattern: '[a-zA-Z0-9]+'
26       - max_length: 4
27       - min_length: 4
28     cloud_zone_id:
29       hidden: false
30       immutable: false
31       type: string
32       description: The cloud zone for this VF instance
33     vf_instance_num:
34       hidden: false
35       immutable: false
36       type: string
37       description: The number for this VF instance
38       constraints:
39       - pattern: '[0-9]+'
40       - max_length: 2
41       - min_length: 2
42     virtual_mgmt_ip_0:
43       hidden: false
44       immutable: false
45       type: string
46       description: Virtual management network ip address
47     indx:
48       hidden: false
49       immutable: false
50       type: float
51       description: Index of the current instance
52     mvs_mgmt_ip_0:
53       hidden: false
54       immutable: false
55       type: list
56       description: List of Management network IP addresses for IPv4
57       entry_schema:
58         type: string
59     flavor:
60       hidden: false
61       immutable: false
62       type: string
63       description: Server flavor
64       constraints: [
65         ]
66     key_name:
67       hidden: false
68       immutable: false
69       type: string
70       description: SSH key name
71       constraints: [
72         ]
73     vnf_id:
74       hidden: false
75       immutable: false
76       type: string
77       description: Unique ID for this VF instance
78     availability_zone_0:
79       hidden: false
80       immutable: false
81       type: list
82       description: List of Availability Zone IDs or Names
83       entry_schema:
84         type: string
85     mgmt_net_id:
86       hidden: false
87       immutable: false
88       type: string
89       description: Neutron UUID for the Management network
90       constraints: [
91         ]
92     vm_instance_num:
93       hidden: false
94       immutable: false
95       type: list
96       description: VM instance number list must be a list of three-digit numeric value
97       entry_schema:
98         type: string
99     bootimage:
100       hidden: false
101       immutable: false
102       type: string
103       description: Master bootimage volume id
104     sec_groups:
105       hidden: false
106       immutable: false
107       type: list
108       description: Security groups
109       entry_schema:
110         type: string
111     vf_component:
112       hidden: false
113       immutable: false
114       type: string
115       description: The component that this VF instance is running
116       constraints:
117       - pattern: '[a-zA-Z0-9]+'
118       - max_length: 3
119       - min_length: 3
120   node_templates:
121     boot_volume:
122       type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
123       properties:
124         availability_zone:
125           Fn::Select:
126           - get_input: indx
127           - get_input:
128             - availability_zone_0
129         image:
130           get_input: bootimage
131         size: 35*1024
132         name:
133           str_replace:
134             template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM-boot-volume
135             params:
136               $VF_NAME:
137                 get_input: vf_name
138               $CLOUD_ZONE_ID:
139                 get_input: cloud_zone_id
140               $VM_INSTANCE_NUM:
141                 Fn::Select:
142                 - get_input: indx
143                 - get_input:
144                   - vm_instance_num
145               $VF_COMPONENT:
146                 get_input: vf_component
147               $VF_INSTANCE_NUM:
148                 get_input: vf_instance_num
149     vnfci:
150       type: org.openecomp.resource.vfc.nodes.heat.vnfci
151       properties:
152         flavor:
153           get_input: flavor
154         key_name:
155           get_input: key_name
156         availability_zone:
157           Fn::Select:
158           - get_input: indx
159           - get_input:
160             - availability_zone_0
161         name:
162           str_replace:
163             template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM
164             params:
165               $VF_NAME:
166                 get_input: vf_name
167               $CLOUD_ZONE_ID:
168                 get_input: cloud_zone_id
169               $VM_INSTANCE_NUM:
170                 Fn::Select:
171                 - get_input: indx
172                 - get_input:
173                   - vm_instance_num
174               $VF_COMPONENT:
175                 get_input: vf_component
176               $VF_INSTANCE_NUM:
177                 get_input: vf_instance_num
178       requirements:
179       - local_storage:
180           capability: tosca.capabilities.Attachment
181           node: boot_volume
182           relationship: tosca.relationships.AttachesTo
183       - local_storage:
184           capability: tosca.capabilities.Attachment
185           node: data_volume
186           relationship: tosca.relationships.AttachesTo
187     data_volume:
188       type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
189       properties:
190         availability_zone:
191           Fn::Select:
192           - get_input: indx
193           - get_input:
194             - availability_zone_0
195         size: 265*1024
196         name:
197           str_replace:
198             template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM-data-volume
199             params:
200               $VF_NAME:
201                 get_input: vf_name
202               $CLOUD_ZONE_ID:
203                 get_input: cloud_zone_id
204               $VM_INSTANCE_NUM:
205                 Fn::Select:
206                 - get_input: indx
207                 - get_input:
208                   - vm_instance_num
209               $VF_COMPONENT:
210                 get_input: vf_component
211               $VF_INSTANCE_NUM:
212                 get_input: vf_instance_num
213     mgmt_port:
214       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
215       properties:
216         ip_requirements:
217         - ip_version: 4
218           ip_count_required:
219             is_required: false
220           floating_ip_count_required:
221             is_required: true
222         - ip_version: 6
223           ip_count_required:
224             is_required: false
225           floating_ip_count_required:
226             is_required: false
227         security_groups:
228         - get_input: sec_groups
229         fixed_ips:
230         - ip_address:
231             Fn::Select:
232             - get_input: indx
233             - get_input:
234               - get_input: mvs_mgmt_ip_0
235         mac_requirements:
236           mac_count_required:
237             is_required: false
238         allowed_address_pairs:
239         - ip_address:
240             get_input: virtual_mgmt_ip_0
241         name:
242           str_replace:
243             template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM-mgmt-port
244             params:
245               $VF_NAME:
246                 get_input: vf_name
247               $CLOUD_ZONE_ID:
248                 get_input: cloud_zone_id
249               $VM_INSTANCE_NUM:
250                 Fn::Select:
251                 - get_input: indx
252                 - get_input:
253                   - vm_instance_num
254               $VF_COMPONENT:
255                 get_input: vf_component
256               $VF_INSTANCE_NUM:
257                 get_input: vf_instance_num
258         network_role_tag: mgmt
259         network:
260           get_input: mgmt_net_id
261       requirements:
262       - binding:
263           capability: tosca.capabilities.network.Bindable
264           node: vnfci
265           relationship: tosca.relationships.network.BindsTo
266   groups:
267     mvs.nested.heat_group:
268       type: org.openecomp.groups.heat.HeatStack
269       properties:
270         heat_file: ../Artifacts/mvs.nested.heat.yaml
271         description: |
272           Metaswitch MVS (Metaview Server)
273       members:
274       - boot_volume
275       - vnfci
276       - data_volume
277       - mgmt_port
278   substitution_mappings:
279     node_type: org.openecomp.resource.abstract.nodes.heat.mvs.nested.heat
280     capabilities:
281       disk.ephemeral.size_vnfci:
282       - vnfci
283       - disk.ephemeral.size
284       disk.iops_vnfci:
285       - vnfci
286       - disk.iops
287       network.outgoing.bytes.rate_mgmt_port:
288       - mgmt_port
289       - network.outgoing.bytes.rate
290       disk.device.write.bytes_vnfci:
291       - vnfci
292       - disk.device.write.bytes
293       disk.device.iops_vnfci:
294       - vnfci
295       - disk.device.iops
296       cpu_util_vnfci:
297       - vnfci
298       - cpu_util
299       disk.write.bytes.rate_vnfci:
300       - vnfci
301       - disk.write.bytes.rate
302       disk.device.latency_vnfci:
303       - vnfci
304       - disk.device.latency
305       disk.latency_vnfci:
306       - vnfci
307       - disk.latency
308       disk.write.requests_vnfci:
309       - vnfci
310       - disk.write.requests
311       attachment_data_volume:
312       - data_volume
313       - attachment
314       network.outpoing.packets_mgmt_port:
315       - mgmt_port
316       - network.outpoing.packets
317       memory.resident_vnfci:
318       - vnfci
319       - memory.resident
320       os_vnfci:
321       - vnfci
322       - os
323       memory.usage_vnfci:
324       - vnfci
325       - memory.usage
326       attachment_mgmt_port:
327       - mgmt_port
328       - attachment
329       disk.device.write.bytes.rate_vnfci:
330       - vnfci
331       - disk.device.write.bytes.rate
332       attachment_boot_volume:
333       - boot_volume
334       - attachment
335       feature_data_volume:
336       - data_volume
337       - feature
338       disk.root.size_vnfci:
339       - vnfci
340       - disk.root.size
341       disk.device.usage_vnfci:
342       - vnfci
343       - disk.device.usage
344       disk.read.bytes_vnfci:
345       - vnfci
346       - disk.read.bytes
347       disk.device.read.bytes.rate_vnfci:
348       - vnfci
349       - disk.device.read.bytes.rate
350       disk.read.bytes.rate_vnfci:
351       - vnfci
352       - disk.read.bytes.rate
353       cpu_vnfci:
354       - vnfci
355       - cpu
356       disk.device.write.requests.rate_vnfci:
357       - vnfci
358       - disk.device.write.requests.rate
359       network.incoming.bytes_mgmt_port:
360       - mgmt_port
361       - network.incoming.bytes
362       disk.capacity_vnfci:
363       - vnfci
364       - disk.capacity
365       disk.device.read.requests_vnfci:
366       - vnfci
367       - disk.device.read.requests
368       binding_mgmt_port:
369       - mgmt_port
370       - binding
371       network.outgoing.bytes_mgmt_port:
372       - mgmt_port
373       - network.outgoing.bytes
374       network.incoming.packets_mgmt_port:
375       - mgmt_port
376       - network.incoming.packets
377       instance_vnfci:
378       - vnfci
379       - instance
380       feature_mgmt_port:
381       - mgmt_port
382       - feature
383       disk.device.read.bytes_vnfci:
384       - vnfci
385       - disk.device.read.bytes
386       disk.allocation_vnfci:
387       - vnfci
388       - disk.allocation
389       disk.write.requests.rate_vnfci:
390       - vnfci
391       - disk.write.requests.rate
392       disk.write.bytes_vnfci:
393       - vnfci
394       - disk.write.bytes
395       disk.device.write.requests_vnfci:
396       - vnfci
397       - disk.device.write.requests
398       disk.usage_vnfci:
399       - vnfci
400       - disk.usage
401       network.incoming.packets.rate_mgmt_port:
402       - mgmt_port
403       - network.incoming.packets.rate
404       feature_vnfci:
405       - vnfci
406       - feature
407       memory_vnfci:
408       - vnfci
409       - memory
410       endpoint_vnfci:
411       - vnfci
412       - endpoint
413       binding_vnfci:
414       - vnfci
415       - binding
416       scalable_vnfci:
417       - vnfci
418       - scalable
419       disk.device.capacity_vnfci:
420       - vnfci
421       - disk.device.capacity
422       network.outgoing.packets.rate_mgmt_port:
423       - mgmt_port
424       - network.outgoing.packets.rate
425       vcpus_vnfci:
426       - vnfci
427       - vcpus
428       forwarder_mgmt_port:
429       - mgmt_port
430       - forwarder
431       cpu.delta_vnfci:
432       - vnfci
433       - cpu.delta
434       host_vnfci:
435       - vnfci
436       - host
437       disk.device.allocation_vnfci:
438       - vnfci
439       - disk.device.allocation
440       network.incoming.bytes.rate_mgmt_port:
441       - mgmt_port
442       - network.incoming.bytes.rate
443       disk.read.requests_vnfci:
444       - vnfci
445       - disk.read.requests
446       feature_boot_volume:
447       - boot_volume
448       - feature
449       disk.device.read.requests.rate_vnfci:
450       - vnfci
451       - disk.device.read.requests.rate
452     requirements:
453       dependency_mgmt_port:
454       - mgmt_port
455       - dependency
456       dependency_vnfci:
457       - vnfci
458       - dependency
459       local_storage_vnfci:
460       - vnfci
461       - local_storage
462       dependency_data_volume:
463       - data_volume
464       - dependency
465       link_mgmt_port:
466       - mgmt_port
467       - link
468       dependency_boot_volume:
469       - boot_volume
470       - dependency