e803f801724565e494e5fb75bac6c1616c724570
[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     vnfci:
122       type: org.openecomp.resource.vfc.nodes.heat.vnfci
123       properties:
124         flavor:
125           get_input: flavor
126         key_name:
127           get_input: key_name
128         availability_zone:
129           Fn::Select:
130           - get_input: indx
131           - get_input:
132             - availability_zone_0
133         name:
134           str_replace:
135             template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM
136             params:
137               $VF_NAME:
138                 get_input: vf_name
139               $CLOUD_ZONE_ID:
140                 get_input: cloud_zone_id
141               $VM_INSTANCE_NUM:
142                 Fn::Select:
143                 - get_input: indx
144                 - get_input:
145                   - vm_instance_num
146               $VF_COMPONENT:
147                 get_input: vf_component
148               $VF_INSTANCE_NUM:
149                 get_input: vf_instance_num
150     mgmt_port:
151       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
152       properties:
153         ip_requirements:
154         - ip_version: 4
155           ip_count_required:
156             is_required: false
157           floating_ip_count_required:
158             is_required: true
159         - ip_version: 6
160           ip_count_required:
161             is_required: false
162           floating_ip_count_required:
163             is_required: false
164         security_groups:
165         - get_input: sec_groups
166         fixed_ips:
167         - ip_address:
168             Fn::Select:
169             - get_input: indx
170             - get_input:
171               - get_input: mvs_mgmt_ip_0
172         mac_requirements:
173           mac_count_required:
174             is_required: false
175         allowed_address_pairs:
176         - ip_address:
177             get_input: virtual_mgmt_ip_0
178         name:
179           str_replace:
180             template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM-mgmt-port
181             params:
182               $VF_NAME:
183                 get_input: vf_name
184               $CLOUD_ZONE_ID:
185                 get_input: cloud_zone_id
186               $VM_INSTANCE_NUM:
187                 Fn::Select:
188                 - get_input: indx
189                 - get_input:
190                   - vm_instance_num
191               $VF_COMPONENT:
192                 get_input: vf_component
193               $VF_INSTANCE_NUM:
194                 get_input: vf_instance_num
195         network_role_tag: mgmt
196         network:
197           get_input: mgmt_net_id
198       requirements:
199       - binding:
200           capability: tosca.capabilities.network.Bindable
201           node: vnfci
202           relationship: tosca.relationships.network.BindsTo
203   groups:
204     mvs.nested.heat_group:
205       type: org.openecomp.groups.heat.HeatStack
206       properties:
207         heat_file: ../Artifacts/mvs.nested.heat.yaml
208         description: |
209           Metaswitch MVS (Metaview Server)
210       members:
211       - vnfci
212       - mgmt_port
213   outputs:
214     vnfci_id_2:
215       value: vnfci
216     vnfci_id_1:
217       value: vnfci
218   substitution_mappings:
219     node_type: org.openecomp.resource.abstract.nodes.heat.mvs.nested.heat
220     capabilities:
221       disk.ephemeral.size_vnfci:
222       - vnfci
223       - disk.ephemeral.size
224       disk.iops_vnfci:
225       - vnfci
226       - disk.iops
227       network.outgoing.bytes.rate_mgmt_port:
228       - mgmt_port
229       - network.outgoing.bytes.rate
230       disk.device.write.bytes_vnfci:
231       - vnfci
232       - disk.device.write.bytes
233       disk.device.iops_vnfci:
234       - vnfci
235       - disk.device.iops
236       cpu_util_vnfci:
237       - vnfci
238       - cpu_util
239       disk.write.bytes.rate_vnfci:
240       - vnfci
241       - disk.write.bytes.rate
242       disk.device.latency_vnfci:
243       - vnfci
244       - disk.device.latency
245       disk.latency_vnfci:
246       - vnfci
247       - disk.latency
248       disk.write.requests_vnfci:
249       - vnfci
250       - disk.write.requests
251       network.outpoing.packets_mgmt_port:
252       - mgmt_port
253       - network.outpoing.packets
254       memory.resident_vnfci:
255       - vnfci
256       - memory.resident
257       os_vnfci:
258       - vnfci
259       - os
260       memory.usage_vnfci:
261       - vnfci
262       - memory.usage
263       attachment_mgmt_port:
264       - mgmt_port
265       - attachment
266       disk.device.write.bytes.rate_vnfci:
267       - vnfci
268       - disk.device.write.bytes.rate
269       disk.root.size_vnfci:
270       - vnfci
271       - disk.root.size
272       disk.device.usage_vnfci:
273       - vnfci
274       - disk.device.usage
275       disk.read.bytes_vnfci:
276       - vnfci
277       - disk.read.bytes
278       disk.device.read.bytes.rate_vnfci:
279       - vnfci
280       - disk.device.read.bytes.rate
281       disk.read.bytes.rate_vnfci:
282       - vnfci
283       - disk.read.bytes.rate
284       cpu_vnfci:
285       - vnfci
286       - cpu
287       disk.device.write.requests.rate_vnfci:
288       - vnfci
289       - disk.device.write.requests.rate
290       network.incoming.bytes_mgmt_port:
291       - mgmt_port
292       - network.incoming.bytes
293       disk.capacity_vnfci:
294       - vnfci
295       - disk.capacity
296       disk.device.read.requests_vnfci:
297       - vnfci
298       - disk.device.read.requests
299       binding_mgmt_port:
300       - mgmt_port
301       - binding
302       network.outgoing.bytes_mgmt_port:
303       - mgmt_port
304       - network.outgoing.bytes
305       network.incoming.packets_mgmt_port:
306       - mgmt_port
307       - network.incoming.packets
308       instance_vnfci:
309       - vnfci
310       - instance
311       feature_mgmt_port:
312       - mgmt_port
313       - feature
314       disk.device.read.bytes_vnfci:
315       - vnfci
316       - disk.device.read.bytes
317       disk.allocation_vnfci:
318       - vnfci
319       - disk.allocation
320       disk.write.requests.rate_vnfci:
321       - vnfci
322       - disk.write.requests.rate
323       disk.write.bytes_vnfci:
324       - vnfci
325       - disk.write.bytes
326       disk.device.write.requests_vnfci:
327       - vnfci
328       - disk.device.write.requests
329       disk.usage_vnfci:
330       - vnfci
331       - disk.usage
332       network.incoming.packets.rate_mgmt_port:
333       - mgmt_port
334       - network.incoming.packets.rate
335       feature_vnfci:
336       - vnfci
337       - feature
338       memory_vnfci:
339       - vnfci
340       - memory
341       endpoint_vnfci:
342       - vnfci
343       - endpoint
344       binding_vnfci:
345       - vnfci
346       - binding
347       scalable_vnfci:
348       - vnfci
349       - scalable
350       disk.device.capacity_vnfci:
351       - vnfci
352       - disk.device.capacity
353       network.outgoing.packets.rate_mgmt_port:
354       - mgmt_port
355       - network.outgoing.packets.rate
356       vcpus_vnfci:
357       - vnfci
358       - vcpus
359       forwarder_mgmt_port:
360       - mgmt_port
361       - forwarder
362       cpu.delta_vnfci:
363       - vnfci
364       - cpu.delta
365       host_vnfci:
366       - vnfci
367       - host
368       disk.device.allocation_vnfci:
369       - vnfci
370       - disk.device.allocation
371       network.incoming.bytes.rate_mgmt_port:
372       - mgmt_port
373       - network.incoming.bytes.rate
374       disk.read.requests_vnfci:
375       - vnfci
376       - disk.read.requests
377       disk.device.read.requests.rate_vnfci:
378       - vnfci
379       - disk.device.read.requests.rate
380     requirements:
381       dependency_mgmt_port:
382       - mgmt_port
383       - dependency
384       dependency_vnfci:
385       - vnfci
386       - dependency
387       local_storage_vnfci:
388       - vnfci
389       - local_storage
390       link_mgmt_port:
391       - mgmt_port
392       - link