5f7bbc52f419c3f47b3d77927a3993baa2b7c71d
[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       forwarder_vson_server_oam_net_port_00:
290       - vson_server_oam_net_port_00
291       - forwarder
292       network.outgoing.bytes.rate_vson_server_oam_net_port_00:
293       - vson_server_oam_net_port_00
294       - network.outgoing.bytes.rate
295       instance_vson_server_2:
296       - vson_server_2
297       - instance
298       disk.device.write.bytes_vson_server_2:
299       - vson_server_2
300       - disk.device.write.bytes
301       disk.read.requests_vson_server_2:
302       - vson_server_2
303       - disk.read.requests
304       disk.read.bytes_vson_server_2:
305       - vson_server_2
306       - disk.read.bytes
307       network.outgoing.packets.rate_vson_server_oam_net_port_00:
308       - vson_server_oam_net_port_00
309       - network.outgoing.packets.rate
310       disk.latency_vson_server_2:
311       - vson_server_2
312       - disk.latency
313       disk.read.bytes.rate_vson_server_2:
314       - vson_server_2
315       - disk.read.bytes.rate
316       endpoint_vson_server_2:
317       - vson_server_2
318       - endpoint
319       network.incoming.bytes.rate_vson_server_oam_net_port_00:
320       - vson_server_oam_net_port_00
321       - network.incoming.bytes.rate
322       disk.write.requests_vson_server_2:
323       - vson_server_2
324       - disk.write.requests
325       binding_vson_server_oam_net_port_00:
326       - vson_server_oam_net_port_00
327       - binding
328       memory_vson_server_2:
329       - vson_server_2
330       - memory
331       network.outgoing.bytes_vson_server_oam_net_port_00:
332       - vson_server_oam_net_port_00
333       - network.outgoing.bytes
334       cpu_util_vson_server_2:
335       - vson_server_2
336       - cpu_util
337       disk.device.read.requests.rate_vson_server_2:
338       - vson_server_2
339       - disk.device.read.requests.rate
340       disk.device.iops_vson_server_2:
341       - vson_server_2
342       - disk.device.iops
343       disk.allocation_vson_server_2:
344       - vson_server_2
345       - disk.allocation
346       memory.usage_vson_server_2:
347       - vson_server_2
348       - memory.usage
349       disk.usage_vson_server_2:
350       - vson_server_2
351       - disk.usage
352       network.incoming.packets_vson_server_oam_net_port_00:
353       - vson_server_oam_net_port_00
354       - network.incoming.packets
355       disk.capacity_vson_server_2:
356       - vson_server_2
357       - disk.capacity
358       disk.device.read.bytes.rate_vson_server_2:
359       - vson_server_2
360       - disk.device.read.bytes.rate
361       network.incoming.packets.rate_vson_server_oam_net_port_00:
362       - vson_server_oam_net_port_00
363       - network.incoming.packets.rate
364       network.incoming.bytes_vson_server_oam_net_port_00:
365       - vson_server_oam_net_port_00
366       - network.incoming.bytes
367       disk.write.requests.rate_vson_server_2:
368       - vson_server_2
369       - disk.write.requests.rate
370       attachment_vson_server_oam_net_port_00:
371       - vson_server_oam_net_port_00
372       - attachment
373       disk.ephemeral.size_vson_server_2:
374       - vson_server_2
375       - disk.ephemeral.size
376       disk.device.read.bytes_vson_server_2:
377       - vson_server_2
378       - disk.device.read.bytes
379       os_vson_server_2:
380       - vson_server_2
381       - os
382       disk.root.size_vson_server_2:
383       - vson_server_2
384       - disk.root.size
385       disk.device.write.requests_vson_server_2:
386       - vson_server_2
387       - disk.device.write.requests
388       host_vson_server_2:
389       - vson_server_2
390       - host
391       disk.device.write.bytes.rate_vson_server_2:
392       - vson_server_2
393       - disk.device.write.bytes.rate
394       cpu.delta_vson_server_2:
395       - vson_server_2
396       - cpu.delta
397       disk.device.latency_vson_server_2:
398       - vson_server_2
399       - disk.device.latency
400       feature_vson_server_2:
401       - vson_server_2
402       - feature
403       memory.resident_vson_server_2:
404       - vson_server_2
405       - memory.resident
406       disk.write.bytes_vson_server_2:
407       - vson_server_2
408       - disk.write.bytes
409       disk.device.usage_vson_server_2:
410       - vson_server_2
411       - disk.device.usage
412       disk.device.write.requests.rate_vson_server_2:
413       - vson_server_2
414       - disk.device.write.requests.rate
415       scalable_vson_server_2:
416       - vson_server_2
417       - scalable
418       vcpus_vson_server_2:
419       - vson_server_2
420       - vcpus
421       binding_vson_server_2:
422       - vson_server_2
423       - binding
424       disk.write.bytes.rate_vson_server_2:
425       - vson_server_2
426       - disk.write.bytes.rate
427       disk.iops_vson_server_2:
428       - vson_server_2
429       - disk.iops
430       cpu_vson_server_2:
431       - vson_server_2
432       - cpu
433       feature_vson_server_oam_net_port_00:
434       - vson_server_oam_net_port_00
435       - feature
436       disk.device.allocation_vson_server_2:
437       - vson_server_2
438       - disk.device.allocation
439       disk.device.read.requests_vson_server_2:
440       - vson_server_2
441       - disk.device.read.requests
442       disk.device.capacity_vson_server_2:
443       - vson_server_2
444       - disk.device.capacity
445     requirements:
446       local_storage_vson_server_2:
447       - vson_server_2
448       - local_storage
449       dependency_vson_server_oam_net_port_00:
450       - vson_server_oam_net_port_00
451       - dependency
452       link_vson_server_oam_net_port_00:
453       - vson_server_oam_net_port_00
454       - link
455       dependency_vson_server_2:
456       - vson_server_2
457       - dependency