82922482609ba1e9288275127bff8a88ce24c548
[sdc.git] /
1 tosca_definitions_version: tosca_simple_yaml_1_0_0
2 metadata:
3   template_name: nested_vson_server_with_vol
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.vson_vm:
11     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
12 topology_template:
13   inputs:
14     vf_module_id:
15       label: VF module ID
16       hidden: false
17       immutable: false
18       type: string
19       description: Unique ID for this VF Module instance
20     default_gateway:
21       label: Default gateway
22       hidden: false
23       immutable: false
24       type: string
25       description: Default gateway.
26     port_vson_server_oam_net_port_00_network_role_tag:
27       type: string
28       required: true
29     instance_index:
30       label: Instance Index
31       hidden: false
32       immutable: false
33       type: float
34       description: Index of the instance.
35     vnf_name:
36       label: VF name
37       hidden: false
38       immutable: false
39       type: string
40       description: Unique name for this VF instance.
41     oam_net_subnet_prefix_length:
42       label: OAM net subnet prefix length
43       hidden: false
44       immutable: false
45       type: string
46       description: Prefix length of the subnet on the OAM network.
47     port_vson_server_oam_net_port_00_ip_requirements:
48       type: list
49       required: true
50       entry_schema:
51         type: org.openecomp.datatypes.network.IpRequirements
52     vf_module_name:
53       label: VF module name
54       hidden: false
55       immutable: false
56       type: string
57       description: Unique name for this VF module instance.
58     dns_servers:
59       label: DNS servers
60       hidden: false
61       immutable: false
62       type: list
63       description: List of DNS servers.
64       entry_schema:
65         type: string
66     oam_net_security_group_id:
67       label: OAM network security group ID
68       hidden: false
69       immutable: false
70       type: string
71       description: |
72         The ID of Security group applied on the port bound to the vSON OAM network.
73     vson_vm_image_name:
74       label: vSON base VM image name
75       hidden: false
76       immutable: false
77       type: string
78       description: VM Image name the vSON instance will be created from.
79     vnf_id:
80       label: VF ID
81       hidden: false
82       immutable: false
83       type: string
84       description: Unique ID for this VF instance.
85     vson_clm_oam_net_ip:
86       label: vSON Cluster Manager IP
87       hidden: false
88       immutable: false
89       type: string
90       description: IP of the vSON Cluster Manager.
91     vson_dc_unit:
92       label: vSON Data Center name
93       hidden: false
94       immutable: false
95       type: string
96       description: Name of the vSON Data Center.
97     oam_net_ips:
98       label: vSON OAM network IP addresses
99       hidden: false
100       immutable: false
101       type: list
102       description: Fixed IP assignments for vSON instances on the OAM network.
103       entry_schema:
104         type: string
105     vfc_role:
106       label: VF module ID
107       hidden: false
108       immutable: false
109       type: string
110       description: Unique ID for this VF Module instance
111     swift_account_auth_token:
112       label: Swift account auth token
113       hidden: false
114       immutable: false
115       type: string
116       description: |
117         Swift account auth token. Example:  041a5187bb4641f9b89583e2539776b0
118     port_vson_server_oam_net_port_00_mac_requirements:
119       type: org.openecomp.datatypes.network.MacRequirements
120       required: true
121     vson_server_group_id:
122       label: vSON server group ID
123       hidden: false
124       immutable: false
125       type: string
126       description: |
127         Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors.
128     vson_vm_flavor_name:
129       label: Flavor name
130       hidden: false
131       immutable: false
132       type: string
133       description: The ID or name of the flavor to boot onto.
134     availability_zones:
135       label: Availability zones
136       hidden: false
137       immutable: false
138       type: list
139       description: List of availability zones.
140       entry_schema:
141         type: string
142     volume_ids:
143       label: Volumes IDs
144       hidden: false
145       immutable: false
146       type: list
147       description: List of Volumes IDs.
148       entry_schema:
149         type: string
150     ntp_servers:
151       label: NTP servers
152       hidden: false
153       immutable: false
154       type: list
155       description: List of NTP servers.
156       entry_schema:
157         type: string
158     vson_join_cluster_auth_token:
159       label: vSON join cluster auth token
160       hidden: false
161       immutable: false
162       type: string
163       description: "Authentication Token generated for the user permitted to add \
164         \ a new Datacenter/vSON member to existing vSON Cluster. \n"
165     port_vson_server_oam_net_port_00_order:
166       type: integer
167       required: true
168     port_vson_server_oam_net_port_00_exCP_naming:
169       type: org.openecomp.datatypes.Naming
170       required: true
171     oam_net_id:
172       label: OAM network ID
173       hidden: false
174       immutable: false
175       type: string
176       description: The ID of the OAM network.
177     port_vson_server_oam_net_port_00_vlan_requirements:
178       type: list
179       required: true
180       entry_schema:
181         type: org.openecomp.datatypes.network.VlanRequirements
182     port_vson_server_oam_net_port_00_network_role:
183       type: string
184       required: true
185     vson_vm_names:
186       label: vSON Cluster leader names
187       hidden: false
188       immutable: false
189       type: list
190       description: A list of unique names to be issued to the vSON Cluster leaders.
191       entry_schema:
192         type: string
193     port_vson_server_oam_net_port_00_subnetpoolid:
194       type: string
195       required: true
196   node_templates:
197     vson_server_2:
198       type: org.openecomp.resource.vfc.compute.nodes.heat.vson_vm
199       properties:
200         flavor:
201           get_input: vson_vm_flavor_name
202         availability_zone:
203           get_input:
204           - availability_zones
205           - get_input: instance_index
206         image:
207           get_input: vson_vm_image_name
208         metadata:
209           vf_module_id:
210             get_input: vf_module_id
211           vm_role:
212             get_input: vfc_role
213           vnf_id:
214             get_input: vnf_id
215           vnf_name:
216             get_input: vnf_name
217           vf_module_name:
218             get_input: vf_module_name
219         config_drive: true
220         user_data_format: RAW
221         name:
222           get_input:
223           - vson_vm_names
224           - get_input: instance_index
225         scheduler_hints:
226           group:
227             get_input: vson_server_group_id
228     vson_server_oam_net_port_00:
229       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
230       properties:
231         ip_requirements:
232           get_input: port_vson_server_oam_net_port_00_ip_requirements
233         security_groups:
234         - get_input: oam_net_security_group_id
235         network_role:
236           get_input: port_vson_server_oam_net_port_00_network_role
237         fixed_ips:
238         - ip_address:
239             get_input:
240             - oam_net_ips
241             - get_input: instance_index
242         subnetpoolid:
243           get_input: port_vson_server_oam_net_port_00_subnetpoolid
244         mac_requirements:
245           get_input: port_vson_server_oam_net_port_00_mac_requirements
246         name:
247           str_replace:
248             template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
249             params:
250               VNF_NAME:
251                 get_input: vnf_name
252               VNF_ID:
253                 get_input: vnf_id
254               SERVER_NAME:
255                 get_input:
256                 - vson_vm_names
257                 - get_input: instance_index
258         exCP_naming:
259           get_input: port_vson_server_oam_net_port_00_exCP_naming
260         vlan_requirements:
261           get_input: port_vson_server_oam_net_port_00_vlan_requirements
262         network_role_tag:
263           get_input: port_vson_server_oam_net_port_00_network_role_tag
264         network:
265           get_input: oam_net_id
266         order:
267           get_input: port_vson_server_oam_net_port_00_order
268       requirements:
269       - binding:
270           capability: tosca.capabilities.network.Bindable
271           node: vson_server_2
272           relationship: tosca.relationships.network.BindsTo
273   groups:
274     nested_vson_server_with_vol_group:
275       type: org.openecomp.groups.heat.HeatStack
276       properties:
277         heat_file: ../Artifacts/nested_vson_server_with_vol.yaml
278         description: |
279           The template intended for deploying vSON VM instance.
280       members:
281       - vson_server_2
282       - vson_server_oam_net_port_00
283   substitution_mappings:
284     node_type: org.openecomp.resource.abstract.nodes.heat.vson_vm_1
285     capabilities:
286       network.outpoing.packets_vson_server_oam_net_port_00:
287       - vson_server_oam_net_port_00
288       - network.outpoing.packets
289       network.outgoing.bytes.rate_vson_server_oam_net_port_00:
290       - vson_server_oam_net_port_00
291       - network.outgoing.bytes.rate
292       instance_vson_server_2:
293       - vson_server_2
294       - instance
295       disk.device.write.bytes_vson_server_2:
296       - vson_server_2
297       - disk.device.write.bytes
298       disk.read.requests_vson_server_2:
299       - vson_server_2
300       - disk.read.requests
301       disk.read.bytes_vson_server_2:
302       - vson_server_2
303       - disk.read.bytes
304       network.outgoing.packets.rate_vson_server_oam_net_port_00:
305       - vson_server_oam_net_port_00
306       - network.outgoing.packets.rate
307       disk.latency_vson_server_2:
308       - vson_server_2
309       - disk.latency
310       disk.read.bytes.rate_vson_server_2:
311       - vson_server_2
312       - disk.read.bytes.rate
313       endpoint_vson_server_2:
314       - vson_server_2
315       - endpoint
316       network.incoming.bytes.rate_vson_server_oam_net_port_00:
317       - vson_server_oam_net_port_00
318       - network.incoming.bytes.rate
319       disk.write.requests_vson_server_2:
320       - vson_server_2
321       - disk.write.requests
322       binding_vson_server_oam_net_port_00:
323       - vson_server_oam_net_port_00
324       - binding
325       memory_vson_server_2:
326       - vson_server_2
327       - memory
328       network.outgoing.bytes_vson_server_oam_net_port_00:
329       - vson_server_oam_net_port_00
330       - network.outgoing.bytes
331       cpu_util_vson_server_2:
332       - vson_server_2
333       - cpu_util
334       disk.device.read.requests.rate_vson_server_2:
335       - vson_server_2
336       - disk.device.read.requests.rate
337       disk.device.iops_vson_server_2:
338       - vson_server_2
339       - disk.device.iops
340       disk.allocation_vson_server_2:
341       - vson_server_2
342       - disk.allocation
343       memory.usage_vson_server_2:
344       - vson_server_2
345       - memory.usage
346       disk.usage_vson_server_2:
347       - vson_server_2
348       - disk.usage
349       network.incoming.packets_vson_server_oam_net_port_00:
350       - vson_server_oam_net_port_00
351       - network.incoming.packets
352       disk.capacity_vson_server_2:
353       - vson_server_2
354       - disk.capacity
355       disk.device.read.bytes.rate_vson_server_2:
356       - vson_server_2
357       - disk.device.read.bytes.rate
358       network.incoming.packets.rate_vson_server_oam_net_port_00:
359       - vson_server_oam_net_port_00
360       - network.incoming.packets.rate
361       network.incoming.bytes_vson_server_oam_net_port_00:
362       - vson_server_oam_net_port_00
363       - network.incoming.bytes
364       disk.write.requests.rate_vson_server_2:
365       - vson_server_2
366       - disk.write.requests.rate
367       attachment_vson_server_oam_net_port_00:
368       - vson_server_oam_net_port_00
369       - attachment
370       disk.ephemeral.size_vson_server_2:
371       - vson_server_2
372       - disk.ephemeral.size
373       disk.device.read.bytes_vson_server_2:
374       - vson_server_2
375       - disk.device.read.bytes
376       os_vson_server_2:
377       - vson_server_2
378       - os
379       disk.root.size_vson_server_2:
380       - vson_server_2
381       - disk.root.size
382       disk.device.write.requests_vson_server_2:
383       - vson_server_2
384       - disk.device.write.requests
385       host_vson_server_2:
386       - vson_server_2
387       - host
388       disk.device.write.bytes.rate_vson_server_2:
389       - vson_server_2
390       - disk.device.write.bytes.rate
391       cpu.delta_vson_server_2:
392       - vson_server_2
393       - cpu.delta
394       disk.device.latency_vson_server_2:
395       - vson_server_2
396       - disk.device.latency
397       feature_vson_server_2:
398       - vson_server_2
399       - feature
400       memory.resident_vson_server_2:
401       - vson_server_2
402       - memory.resident
403       disk.write.bytes_vson_server_2:
404       - vson_server_2
405       - disk.write.bytes
406       disk.device.usage_vson_server_2:
407       - vson_server_2
408       - disk.device.usage
409       disk.device.write.requests.rate_vson_server_2:
410       - vson_server_2
411       - disk.device.write.requests.rate
412       scalable_vson_server_2:
413       - vson_server_2
414       - scalable
415       vcpus_vson_server_2:
416       - vson_server_2
417       - vcpus
418       binding_vson_server_2:
419       - vson_server_2
420       - binding
421       disk.write.bytes.rate_vson_server_2:
422       - vson_server_2
423       - disk.write.bytes.rate
424       disk.iops_vson_server_2:
425       - vson_server_2
426       - disk.iops
427       cpu_vson_server_2:
428       - vson_server_2
429       - cpu
430       feature_vson_server_oam_net_port_00:
431       - vson_server_oam_net_port_00
432       - feature
433       disk.device.allocation_vson_server_2:
434       - vson_server_2
435       - disk.device.allocation
436       disk.device.read.requests_vson_server_2:
437       - vson_server_2
438       - disk.device.read.requests
439       disk.device.capacity_vson_server_2:
440       - vson_server_2
441       - disk.device.capacity
442     requirements:
443       local_storage_vson_server_2:
444       - vson_server_2
445       - local_storage
446       dependency_vson_server_oam_net_port_00:
447       - vson_server_oam_net_port_00
448       - dependency
449       link_vson_server_oam_net_port_00:
450       - vson_server_oam_net_port_00
451       - link
452       dependency_vson_server_2:
453       - vson_server_2
454       - dependency