fa4b53a50a1df9ac3b7c31b8e49f0de27d6d9e0a
[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         ip_requirements:
230           get_input: port_vson_server_oam_net_port_20_ip_requirements
231         security_groups:
232         - get_input: oam_net_security_group_id
233         network_role:
234           get_input: port_vson_server_oam_net_port_20_network_role
235         fixed_ips:
236         - ip_address:
237             get_input:
238             - oam_net_ips
239             - get_input: instance_index
240         subnetpoolid:
241           get_input: port_vson_server_oam_net_port_20_subnetpoolid
242         mac_requirements:
243           get_input: port_vson_server_oam_net_port_20_mac_requirements
244         name:
245           str_replace:
246             template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
247             params:
248               VNF_NAME:
249                 get_input: vnf_name
250               VNF_ID:
251                 get_input: vnf_id
252               SERVER_NAME:
253                 get_input:
254                 - vson_vm_names
255                 - get_input: instance_index
256         exCP_naming:
257           get_input: port_vson_server_oam_net_port_20_exCP_naming
258         vlan_requirements:
259           get_input: port_vson_server_oam_net_port_20_vlan_requirements
260         network_role_tag:
261           get_input: port_vson_server_oam_net_port_20_network_role_tag
262         network:
263           get_input: oam_net_id
264         order:
265           get_input: port_vson_server_oam_net_port_20_order
266       requirements:
267       - binding:
268           capability: tosca.capabilities.network.Bindable
269           node: vson_server_1
270           relationship: tosca.relationships.network.BindsTo
271   groups:
272     nested_vson_server_group:
273       type: org.openecomp.groups.heat.HeatStack
274       properties:
275         heat_file: ../Artifacts/nested_vson_server.yaml
276         description: |
277           The template intended for deploying vSON VM instance.
278       members:
279       - vson_server_1
280       - vson_server_oam_net_port_20
281   substitution_mappings:
282     node_type: org.openecomp.resource.abstract.nodes.heat.vson_vm_4
283     capabilities:
284       instance_vson_server_1:
285       - vson_server_1
286       - instance
287       disk.device.write.bytes_vson_server_1:
288       - vson_server_1
289       - disk.device.write.bytes
290       disk.read.requests_vson_server_1:
291       - vson_server_1
292       - disk.read.requests
293       disk.read.bytes_vson_server_1:
294       - vson_server_1
295       - disk.read.bytes
296       disk.read.bytes.rate_vson_server_1:
297       - vson_server_1
298       - disk.read.bytes.rate
299       disk.latency_vson_server_1:
300       - vson_server_1
301       - disk.latency
302       endpoint_vson_server_1:
303       - vson_server_1
304       - endpoint
305       disk.write.requests_vson_server_1:
306       - vson_server_1
307       - disk.write.requests
308       memory_vson_server_1:
309       - vson_server_1
310       - memory
311       cpu_util_vson_server_1:
312       - vson_server_1
313       - cpu_util
314       disk.device.read.requests.rate_vson_server_1:
315       - vson_server_1
316       - disk.device.read.requests.rate
317       disk.device.iops_vson_server_1:
318       - vson_server_1
319       - disk.device.iops
320       disk.usage_vson_server_1:
321       - vson_server_1
322       - disk.usage
323       disk.allocation_vson_server_1:
324       - vson_server_1
325       - disk.allocation
326       disk.capacity_vson_server_1:
327       - vson_server_1
328       - disk.capacity
329       memory.usage_vson_server_1:
330       - vson_server_1
331       - memory.usage
332       disk.device.read.bytes.rate_vson_server_1:
333       - vson_server_1
334       - disk.device.read.bytes.rate
335       disk.write.requests.rate_vson_server_1:
336       - vson_server_1
337       - disk.write.requests.rate
338       disk.ephemeral.size_vson_server_1:
339       - vson_server_1
340       - disk.ephemeral.size
341       feature_vson_server_oam_net_port_20:
342       - vson_server_oam_net_port_20
343       - feature
344       disk.device.read.bytes_vson_server_1:
345       - vson_server_1
346       - disk.device.read.bytes
347       os_vson_server_1:
348       - vson_server_1
349       - os
350       feature_vson_server_1:
351       - vson_server_1
352       - feature
353       network.outpoing.packets_vson_server_oam_net_port_20:
354       - vson_server_oam_net_port_20
355       - network.outpoing.packets
356       network.outgoing.bytes.rate_vson_server_oam_net_port_20:
357       - vson_server_oam_net_port_20
358       - network.outgoing.bytes.rate
359       disk.root.size_vson_server_1:
360       - vson_server_1
361       - disk.root.size
362       network.outgoing.packets.rate_vson_server_oam_net_port_20:
363       - vson_server_oam_net_port_20
364       - network.outgoing.packets.rate
365       disk.device.write.requests_vson_server_1:
366       - vson_server_1
367       - disk.device.write.requests
368       disk.device.write.bytes.rate_vson_server_1:
369       - vson_server_1
370       - disk.device.write.bytes.rate
371       host_vson_server_1:
372       - vson_server_1
373       - host
374       disk.device.latency_vson_server_1:
375       - vson_server_1
376       - disk.device.latency
377       cpu.delta_vson_server_1:
378       - vson_server_1
379       - cpu.delta
380       network.outgoing.bytes_vson_server_oam_net_port_20:
381       - vson_server_oam_net_port_20
382       - network.outgoing.bytes
383       network.incoming.bytes.rate_vson_server_oam_net_port_20:
384       - vson_server_oam_net_port_20
385       - network.incoming.bytes.rate
386       memory.resident_vson_server_1:
387       - vson_server_1
388       - memory.resident
389       binding_vson_server_oam_net_port_20:
390       - vson_server_oam_net_port_20
391       - binding
392       disk.write.bytes_vson_server_1:
393       - vson_server_1
394       - disk.write.bytes
395       disk.device.usage_vson_server_1:
396       - vson_server_1
397       - disk.device.usage
398       disk.device.write.requests.rate_vson_server_1:
399       - vson_server_1
400       - disk.device.write.requests.rate
401       scalable_vson_server_1:
402       - vson_server_1
403       - scalable
404       network.incoming.packets_vson_server_oam_net_port_20:
405       - vson_server_oam_net_port_20
406       - network.incoming.packets
407       vcpus_vson_server_1:
408       - vson_server_1
409       - vcpus
410       binding_vson_server_1:
411       - vson_server_1
412       - binding
413       network.incoming.packets.rate_vson_server_oam_net_port_20:
414       - vson_server_oam_net_port_20
415       - network.incoming.packets.rate
416       disk.iops_vson_server_1:
417       - vson_server_1
418       - disk.iops
419       disk.write.bytes.rate_vson_server_1:
420       - vson_server_1
421       - disk.write.bytes.rate
422       network.incoming.bytes_vson_server_oam_net_port_20:
423       - vson_server_oam_net_port_20
424       - network.incoming.bytes
425       attachment_vson_server_oam_net_port_20:
426       - vson_server_oam_net_port_20
427       - attachment
428       disk.device.allocation_vson_server_1:
429       - vson_server_1
430       - disk.device.allocation
431       cpu_vson_server_1:
432       - vson_server_1
433       - cpu
434       disk.device.read.requests_vson_server_1:
435       - vson_server_1
436       - disk.device.read.requests
437       disk.device.capacity_vson_server_1:
438       - vson_server_1
439       - disk.device.capacity
440     requirements:
441       local_storage_vson_server_1:
442       - vson_server_1
443       - local_storage
444       link_vson_server_oam_net_port_20:
445       - vson_server_oam_net_port_20
446       - link
447       dependency_vson_server_oam_net_port_20:
448       - vson_server_oam_net_port_20
449       - dependency
450       dependency_vson_server_1:
451       - vson_server_1
452       - dependency