8e29ff83a5ea8adce2dc5315dd7232610f307d0b
[sdc.git] /
1 tosca_definitions_version: tosca_simple_yaml_1_0_0
2 metadata:
3   template_name: nested_vson_server
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     vson_cluster_name:
21       label: vSON Cluster name
22       hidden: false
23       immutable: false
24       type: string
25       description: Name of the vSON Cluster.
26     default_gateway:
27       label: Default gateway
28       hidden: false
29       immutable: false
30       type: string
31       description: Default gateway.
32     instance_index:
33       label: Instance Index
34       hidden: false
35       immutable: false
36       type: float
37       description: Index of the instance.
38     vnf_name:
39       label: VF name
40       hidden: false
41       immutable: false
42       type: string
43       description: Unique name for this VF instance.
44     oam_net_subnet_prefix_length:
45       label: OAM net subnet prefix length
46       hidden: false
47       immutable: false
48       type: string
49       description: Prefix length of the subnet on the OAM network.
50     swift_storage_url:
51       label: swift storage URL
52       hidden: false
53       immutable: false
54       type: string
55       description: |
56         Swift storage URL. Example: http://172.16.209.246:8080/v1/AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029 http://172.16.209.246:8080 - protocol, IP and port, v1 - API version AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029 - account ID
57     vf_module_name:
58       label: VF module name
59       hidden: false
60       immutable: false
61       type: string
62       description: Unique name for this VF module instance.
63     dns_servers:
64       label: DNS servers
65       hidden: false
66       immutable: false
67       type: list
68       description: List of DNS servers.
69       entry_schema:
70         type: string
71     port_vson_server_oam_net_port_20_vlan_requirements:
72       type: list
73       required: true
74       entry_schema:
75         type: org.openecomp.datatypes.network.VlanRequirements
76     oam_net_security_group_id:
77       label: OAM network security group ID
78       hidden: false
79       immutable: false
80       type: string
81       description: |
82         The ID of Security group applied on the port bound to the vSON OAM network.
83     vson_vm_image_name:
84       label: vSON base VM image name
85       hidden: false
86       immutable: false
87       type: string
88       description: VM Image name the vSON instance will be created from.
89     vnf_id:
90       label: VF ID
91       hidden: false
92       immutable: false
93       type: string
94       description: Unique ID for this VF instance.
95     port_vson_server_oam_net_port_20_network_role_tag:
96       type: string
97       required: true
98     vson_clm_oam_net_ip:
99       label: vSON Cluster Manager IP
100       hidden: false
101       immutable: false
102       type: string
103       description: IP of the vSON Cluster Manager.
104     oam_net_ips:
105       label: vSON OAM network IP addresses
106       hidden: false
107       immutable: false
108       type: list
109       description: Fixed IP assignments for vSON instances on the OAM network.
110       entry_schema:
111         type: string
112     swift_son_container_name:
113       label: SON Swift
114       hidden: false
115       immutable: false
116       type: string
117       description: Swift container storing vSON artifacts.
118     vfc_role:
119       label: VF module ID
120       hidden: false
121       immutable: false
122       type: string
123       description: Unique ID for this VF Module instance
124     swift_account_auth_token:
125       label: Swift account auth token
126       hidden: false
127       immutable: false
128       type: string
129       description: |
130         Swift account auth token. Example:  041a5187bb4641f9b89583e2539776b0
131     vson_server_group_id:
132       label: vSON server group ID
133       hidden: false
134       immutable: false
135       type: string
136       description: |
137         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.
138     vson_vm_flavor_name:
139       label: Flavor name
140       hidden: false
141       immutable: false
142       type: string
143       description: The ID or name of the flavor to boot onto.
144     port_vson_server_oam_net_port_20_exCP_naming:
145       type: org.openecomp.datatypes.Naming
146       required: true
147     availability_zones:
148       label: Availability zones
149       hidden: false
150       immutable: false
151       type: list
152       description: List of availability zones.
153       entry_schema:
154         type: string
155     ntp_servers:
156       label: NTP servers
157       hidden: false
158       immutable: false
159       type: list
160       description: List of NTP servers.
161       entry_schema:
162         type: string
163     port_vson_server_oam_net_port_20_mac_requirements:
164       type: org.openecomp.datatypes.network.MacRequirements
165       required: true
166     port_vson_server_oam_net_port_20_network_role:
167       type: string
168       required: true
169     port_vson_server_oam_net_port_20_ip_requirements:
170       type: list
171       required: true
172       entry_schema:
173         type: org.openecomp.datatypes.network.IpRequirements
174     port_vson_server_oam_net_port_20_subnetpoolid:
175       type: string
176       required: true
177     oam_net_id:
178       label: OAM network ID
179       hidden: false
180       immutable: false
181       type: string
182       description: The ID of the OAM network.
183     port_vson_server_oam_net_port_20_order:
184       type: integer
185       required: true
186     vson_vm_names:
187       label: vSON Cluster leader names
188       hidden: false
189       immutable: false
190       type: list
191       description: A list of unique names to be issued to the vSON Cluster leaders.
192       entry_schema:
193         type: string
194   node_templates:
195     vson_server_1:
196       type: org.openecomp.resource.vfc.compute.nodes.heat.vson_vm
197       properties:
198         flavor:
199           get_input: vson_vm_flavor_name
200         availability_zone:
201           get_input:
202           - availability_zones
203           - get_input: instance_index
204         image:
205           get_input: vson_vm_image_name
206         metadata:
207           vf_module_id:
208             get_input: vf_module_id
209           vm_role:
210             get_input: vfc_role
211           vnf_id:
212             get_input: vnf_id
213           vnf_name:
214             get_input: vnf_name
215           vf_module_name:
216             get_input: vf_module_name
217         config_drive: true
218         user_data_format: RAW
219         name:
220           get_input:
221           - vson_vm_names
222           - get_input: instance_index
223         scheduler_hints:
224           group:
225             get_input: vson_server_group_id
226     vson_server_oam_net_port_20:
227       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
228       properties:
229         subnetpoolid:
230           get_input: port_vson_server_oam_net_port_20_subnetpoolid
231         network:
232           get_input: oam_net_id
233         ip_requirements:
234           get_input: port_vson_server_oam_net_port_20_ip_requirements
235         security_groups:
236         - get_input: oam_net_security_group_id
237         network_role:
238           get_input: port_vson_server_oam_net_port_20_network_role
239         fixed_ips:
240         - ip_address:
241             get_input:
242             - oam_net_ips
243             - get_input: instance_index
244         mac_requirements:
245           get_input: port_vson_server_oam_net_port_20_mac_requirements
246         subinterface_indicator: false
247         name:
248           str_replace:
249             template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
250             params:
251               VNF_NAME:
252                 get_input: vnf_name
253               VNF_ID:
254                 get_input: vnf_id
255               SERVER_NAME:
256                 get_input:
257                 - vson_vm_names
258                 - get_input: instance_index
259         exCP_naming:
260           get_input: port_vson_server_oam_net_port_20_exCP_naming
261         vlan_requirements:
262           get_input: port_vson_server_oam_net_port_20_vlan_requirements
263         network_role_tag:
264           get_input: port_vson_server_oam_net_port_20_network_role_tag
265         order:
266           get_input: port_vson_server_oam_net_port_20_order
267       requirements:
268       - binding:
269           capability: tosca.capabilities.network.Bindable
270           node: vson_server_1
271           relationship: tosca.relationships.network.BindsTo
272   groups:
273     nested_vson_server_group:
274       type: org.openecomp.groups.heat.HeatStack
275       properties:
276         heat_file: ../Artifacts/nested_vson_server.yaml
277         description: |
278           The template intended for deploying vSON VM instance.
279       members:
280       - vson_server_1
281       - vson_server_oam_net_port_20
282   substitution_mappings:
283     node_type: org.openecomp.resource.abstract.nodes.heat.vson_vm_4
284     capabilities:
285       instance_vson_server_1:
286       - vson_server_1
287       - instance
288       disk.device.write.bytes_vson_server_1:
289       - vson_server_1
290       - disk.device.write.bytes
291       disk.read.requests_vson_server_1:
292       - vson_server_1
293       - disk.read.requests
294       disk.read.bytes_vson_server_1:
295       - vson_server_1
296       - disk.read.bytes
297       disk.read.bytes.rate_vson_server_1:
298       - vson_server_1
299       - disk.read.bytes.rate
300       disk.latency_vson_server_1:
301       - vson_server_1
302       - disk.latency
303       endpoint_vson_server_1:
304       - vson_server_1
305       - endpoint
306       disk.write.requests_vson_server_1:
307       - vson_server_1
308       - disk.write.requests
309       memory_vson_server_1:
310       - vson_server_1
311       - memory
312       cpu_util_vson_server_1:
313       - vson_server_1
314       - cpu_util
315       disk.device.read.requests.rate_vson_server_1:
316       - vson_server_1
317       - disk.device.read.requests.rate
318       disk.device.iops_vson_server_1:
319       - vson_server_1
320       - disk.device.iops
321       disk.usage_vson_server_1:
322       - vson_server_1
323       - disk.usage
324       disk.allocation_vson_server_1:
325       - vson_server_1
326       - disk.allocation
327       disk.capacity_vson_server_1:
328       - vson_server_1
329       - disk.capacity
330       memory.usage_vson_server_1:
331       - vson_server_1
332       - memory.usage
333       disk.device.read.bytes.rate_vson_server_1:
334       - vson_server_1
335       - disk.device.read.bytes.rate
336       disk.write.requests.rate_vson_server_1:
337       - vson_server_1
338       - disk.write.requests.rate
339       disk.ephemeral.size_vson_server_1:
340       - vson_server_1
341       - disk.ephemeral.size
342       feature_vson_server_oam_net_port_20:
343       - vson_server_oam_net_port_20
344       - feature
345       disk.device.read.bytes_vson_server_1:
346       - vson_server_1
347       - disk.device.read.bytes
348       os_vson_server_1:
349       - vson_server_1
350       - os
351       forwarder_vson_server_oam_net_port_20:
352       - vson_server_oam_net_port_20
353       - forwarder
354       feature_vson_server_1:
355       - vson_server_1
356       - feature
357       network.outpoing.packets_vson_server_oam_net_port_20:
358       - vson_server_oam_net_port_20
359       - network.outpoing.packets
360       network.outgoing.bytes.rate_vson_server_oam_net_port_20:
361       - vson_server_oam_net_port_20
362       - network.outgoing.bytes.rate
363       disk.root.size_vson_server_1:
364       - vson_server_1
365       - disk.root.size
366       network.outgoing.packets.rate_vson_server_oam_net_port_20:
367       - vson_server_oam_net_port_20
368       - network.outgoing.packets.rate
369       disk.device.write.requests_vson_server_1:
370       - vson_server_1
371       - disk.device.write.requests
372       disk.device.write.bytes.rate_vson_server_1:
373       - vson_server_1
374       - disk.device.write.bytes.rate
375       host_vson_server_1:
376       - vson_server_1
377       - host
378       disk.device.latency_vson_server_1:
379       - vson_server_1
380       - disk.device.latency
381       cpu.delta_vson_server_1:
382       - vson_server_1
383       - cpu.delta
384       network.outgoing.bytes_vson_server_oam_net_port_20:
385       - vson_server_oam_net_port_20
386       - network.outgoing.bytes
387       network.incoming.bytes.rate_vson_server_oam_net_port_20:
388       - vson_server_oam_net_port_20
389       - network.incoming.bytes.rate
390       memory.resident_vson_server_1:
391       - vson_server_1
392       - memory.resident
393       binding_vson_server_oam_net_port_20:
394       - vson_server_oam_net_port_20
395       - binding
396       disk.write.bytes_vson_server_1:
397       - vson_server_1
398       - disk.write.bytes
399       disk.device.usage_vson_server_1:
400       - vson_server_1
401       - disk.device.usage
402       disk.device.write.requests.rate_vson_server_1:
403       - vson_server_1
404       - disk.device.write.requests.rate
405       scalable_vson_server_1:
406       - vson_server_1
407       - scalable
408       network.incoming.packets_vson_server_oam_net_port_20:
409       - vson_server_oam_net_port_20
410       - network.incoming.packets
411       vcpus_vson_server_1:
412       - vson_server_1
413       - vcpus
414       binding_vson_server_1:
415       - vson_server_1
416       - binding
417       network.incoming.packets.rate_vson_server_oam_net_port_20:
418       - vson_server_oam_net_port_20
419       - network.incoming.packets.rate
420       disk.iops_vson_server_1:
421       - vson_server_1
422       - disk.iops
423       disk.write.bytes.rate_vson_server_1:
424       - vson_server_1
425       - disk.write.bytes.rate
426       network.incoming.bytes_vson_server_oam_net_port_20:
427       - vson_server_oam_net_port_20
428       - network.incoming.bytes
429       attachment_vson_server_oam_net_port_20:
430       - vson_server_oam_net_port_20
431       - attachment
432       disk.device.allocation_vson_server_1:
433       - vson_server_1
434       - disk.device.allocation
435       cpu_vson_server_1:
436       - vson_server_1
437       - cpu
438       disk.device.read.requests_vson_server_1:
439       - vson_server_1
440       - disk.device.read.requests
441       disk.device.capacity_vson_server_1:
442       - vson_server_1
443       - disk.device.capacity
444     requirements:
445       local_storage_vson_server_1:
446       - vson_server_1
447       - local_storage
448       link_vson_server_oam_net_port_20:
449       - vson_server_oam_net_port_20
450       - link
451       dependency_vson_server_oam_net_port_20:
452       - vson_server_oam_net_port_20
453       - dependency
454       dependency_vson_server_1:
455       - vson_server_1
456       - dependency