0ab6d2e29234665c4d063150d83a7b504705e9cd
[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         subnetpoolid:
232           get_input: port_vson_server_oam_net_port_00_subnetpoolid
233         network:
234           get_input: oam_net_id
235         ip_requirements:
236           get_input: port_vson_server_oam_net_port_00_ip_requirements
237         security_groups:
238         - get_input: oam_net_security_group_id
239         network_role:
240           get_input: port_vson_server_oam_net_port_00_network_role
241         fixed_ips:
242         - ip_address:
243             get_input:
244             - oam_net_ips
245             - get_input: instance_index
246         mac_requirements:
247           get_input: port_vson_server_oam_net_port_00_mac_requirements
248         subinterface_indicator: false
249         name:
250           str_replace:
251             template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
252             params:
253               VNF_NAME:
254                 get_input: vnf_name
255               VNF_ID:
256                 get_input: vnf_id
257               SERVER_NAME:
258                 get_input:
259                 - vson_vm_names
260                 - get_input: instance_index
261         exCP_naming:
262           get_input: port_vson_server_oam_net_port_00_exCP_naming
263         vlan_requirements:
264           get_input: port_vson_server_oam_net_port_00_vlan_requirements
265         network_role_tag:
266           get_input: port_vson_server_oam_net_port_00_network_role_tag
267         order:
268           get_input: port_vson_server_oam_net_port_00_order
269       requirements:
270       - binding:
271           capability: tosca.capabilities.network.Bindable
272           node: vson_server_2
273           relationship: tosca.relationships.network.BindsTo
274   groups:
275     nested_vson_server_with_vol_group:
276       type: org.openecomp.groups.heat.HeatStack
277       properties:
278         heat_file: ../Artifacts/nested_vson_server_with_vol.yaml
279         description: |
280           The template intended for deploying vSON VM instance.
281       members:
282       - vson_server_2
283       - vson_server_oam_net_port_00
284   substitution_mappings:
285     node_type: org.openecomp.resource.abstract.nodes.heat.vson_vm_1
286     capabilities:
287       network.outpoing.packets_vson_server_oam_net_port_00:
288       - vson_server_oam_net_port_00
289       - network.outpoing.packets
290       forwarder_vson_server_oam_net_port_00:
291       - vson_server_oam_net_port_00
292       - forwarder
293       network.outgoing.bytes.rate_vson_server_oam_net_port_00:
294       - vson_server_oam_net_port_00
295       - network.outgoing.bytes.rate
296       instance_vson_server_2:
297       - vson_server_2
298       - instance
299       disk.device.write.bytes_vson_server_2:
300       - vson_server_2
301       - disk.device.write.bytes
302       disk.read.requests_vson_server_2:
303       - vson_server_2
304       - disk.read.requests
305       disk.read.bytes_vson_server_2:
306       - vson_server_2
307       - disk.read.bytes
308       network.outgoing.packets.rate_vson_server_oam_net_port_00:
309       - vson_server_oam_net_port_00
310       - network.outgoing.packets.rate
311       disk.latency_vson_server_2:
312       - vson_server_2
313       - disk.latency
314       disk.read.bytes.rate_vson_server_2:
315       - vson_server_2
316       - disk.read.bytes.rate
317       endpoint_vson_server_2:
318       - vson_server_2
319       - endpoint
320       network.incoming.bytes.rate_vson_server_oam_net_port_00:
321       - vson_server_oam_net_port_00
322       - network.incoming.bytes.rate
323       disk.write.requests_vson_server_2:
324       - vson_server_2
325       - disk.write.requests
326       binding_vson_server_oam_net_port_00:
327       - vson_server_oam_net_port_00
328       - binding
329       memory_vson_server_2:
330       - vson_server_2
331       - memory
332       network.outgoing.bytes_vson_server_oam_net_port_00:
333       - vson_server_oam_net_port_00
334       - network.outgoing.bytes
335       cpu_util_vson_server_2:
336       - vson_server_2
337       - cpu_util
338       disk.device.read.requests.rate_vson_server_2:
339       - vson_server_2
340       - disk.device.read.requests.rate
341       disk.device.iops_vson_server_2:
342       - vson_server_2
343       - disk.device.iops
344       disk.allocation_vson_server_2:
345       - vson_server_2
346       - disk.allocation
347       memory.usage_vson_server_2:
348       - vson_server_2
349       - memory.usage
350       disk.usage_vson_server_2:
351       - vson_server_2
352       - disk.usage
353       network.incoming.packets_vson_server_oam_net_port_00:
354       - vson_server_oam_net_port_00
355       - network.incoming.packets
356       disk.capacity_vson_server_2:
357       - vson_server_2
358       - disk.capacity
359       disk.device.read.bytes.rate_vson_server_2:
360       - vson_server_2
361       - disk.device.read.bytes.rate
362       network.incoming.packets.rate_vson_server_oam_net_port_00:
363       - vson_server_oam_net_port_00
364       - network.incoming.packets.rate
365       network.incoming.bytes_vson_server_oam_net_port_00:
366       - vson_server_oam_net_port_00
367       - network.incoming.bytes
368       disk.write.requests.rate_vson_server_2:
369       - vson_server_2
370       - disk.write.requests.rate
371       attachment_vson_server_oam_net_port_00:
372       - vson_server_oam_net_port_00
373       - attachment
374       disk.ephemeral.size_vson_server_2:
375       - vson_server_2
376       - disk.ephemeral.size
377       disk.device.read.bytes_vson_server_2:
378       - vson_server_2
379       - disk.device.read.bytes
380       os_vson_server_2:
381       - vson_server_2
382       - os
383       disk.root.size_vson_server_2:
384       - vson_server_2
385       - disk.root.size
386       disk.device.write.requests_vson_server_2:
387       - vson_server_2
388       - disk.device.write.requests
389       host_vson_server_2:
390       - vson_server_2
391       - host
392       disk.device.write.bytes.rate_vson_server_2:
393       - vson_server_2
394       - disk.device.write.bytes.rate
395       cpu.delta_vson_server_2:
396       - vson_server_2
397       - cpu.delta
398       disk.device.latency_vson_server_2:
399       - vson_server_2
400       - disk.device.latency
401       feature_vson_server_2:
402       - vson_server_2
403       - feature
404       memory.resident_vson_server_2:
405       - vson_server_2
406       - memory.resident
407       disk.write.bytes_vson_server_2:
408       - vson_server_2
409       - disk.write.bytes
410       disk.device.usage_vson_server_2:
411       - vson_server_2
412       - disk.device.usage
413       disk.device.write.requests.rate_vson_server_2:
414       - vson_server_2
415       - disk.device.write.requests.rate
416       scalable_vson_server_2:
417       - vson_server_2
418       - scalable
419       vcpus_vson_server_2:
420       - vson_server_2
421       - vcpus
422       binding_vson_server_2:
423       - vson_server_2
424       - binding
425       disk.write.bytes.rate_vson_server_2:
426       - vson_server_2
427       - disk.write.bytes.rate
428       disk.iops_vson_server_2:
429       - vson_server_2
430       - disk.iops
431       cpu_vson_server_2:
432       - vson_server_2
433       - cpu
434       feature_vson_server_oam_net_port_00:
435       - vson_server_oam_net_port_00
436       - feature
437       disk.device.allocation_vson_server_2:
438       - vson_server_2
439       - disk.device.allocation
440       disk.device.read.requests_vson_server_2:
441       - vson_server_2
442       - disk.device.read.requests
443       disk.device.capacity_vson_server_2:
444       - vson_server_2
445       - disk.device.capacity
446     requirements:
447       local_storage_vson_server_2:
448       - vson_server_2
449       - local_storage
450       dependency_vson_server_oam_net_port_00:
451       - vson_server_oam_net_port_00
452       - dependency
453       link_vson_server_oam_net_port_00:
454       - vson_server_oam_net_port_00
455       - link
456       dependency_vson_server_2:
457       - vson_server_2
458       - dependency