4f102dd2d7e1e78da5a027300709aef9bb8c5668
[sdc.git] /
1 tosca_definitions_version: tosca_simple_yaml_1_0_0
2 metadata:
3   template_name: nested_vson_server_with_vol_dual_ip_stack
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_0_ip_requirements:
27       type: list
28       required: true
29       entry_schema:
30         type: org.openecomp.datatypes.network.IpRequirements
31     instance_index:
32       label: Instance Index
33       hidden: false
34       immutable: false
35       type: float
36       description: Index of the instance.
37     vnf_name:
38       label: VF name
39       hidden: false
40       immutable: false
41       type: string
42       description: Unique name for this VF instance.
43     oam_net_subnet_prefix_length:
44       label: OAM net subnet prefix length
45       hidden: false
46       immutable: false
47       type: string
48       description: Prefix length of the subnet on the OAM network.
49     vf_module_name:
50       label: VF module name
51       hidden: false
52       immutable: false
53       type: string
54       description: Unique name for this VF module instance.
55     dns_servers:
56       label: DNS servers
57       hidden: false
58       immutable: false
59       type: list
60       description: List of DNS servers.
61       entry_schema:
62         type: string
63     oam_net_security_group_id:
64       label: OAM network security group ID
65       hidden: false
66       immutable: false
67       type: string
68       description: |
69         The ID of Security group applied on the port bound to the vSON OAM network.
70     vson_vm_image_name:
71       label: vSON base VM image name
72       hidden: false
73       immutable: false
74       type: string
75       description: VM Image name the vSON instance will be created from.
76     vnf_id:
77       label: VF ID
78       hidden: false
79       immutable: false
80       type: string
81       description: Unique ID for this VF instance.
82     port_vson_server_oam_net_port_0_network_role:
83       type: string
84       required: true
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     port_vson_server_oam_net_port_0_mac_requirements:
92       type: org.openecomp.datatypes.network.MacRequirements
93       required: true
94     port_vson_server_oam_net_port_0_subnetpoolid:
95       type: string
96       required: true
97     vson_dc_unit:
98       label: vSON Data Center name
99       hidden: false
100       immutable: false
101       type: string
102       description: Name of the vSON Data Center.
103     oam_net_ips:
104       label: vSON OAM network IPv4 addresses
105       hidden: false
106       immutable: false
107       type: list
108       description: Fixed IPv4 assignments for vSON instances on the OAM network.
109       entry_schema:
110         type: string
111     oam_net_subnet_v6_prefix_length:
112       label: OAM net IPv6 subnet prefix length
113       hidden: false
114       immutable: false
115       type: string
116       description: OAM network IPv6 subnet prefix length.
117     vfc_role:
118       label: VF module ID
119       hidden: false
120       immutable: false
121       type: string
122       description: Unique ID for this VF Module instance
123     swift_account_auth_token:
124       label: Swift account auth token
125       hidden: false
126       immutable: false
127       type: string
128       description: |
129         Swift account auth token. Example:  041a5187bb4641f9b89583e2539776b0
130     default_gateway_v6:
131       label: Default IPv6 gateway
132       hidden: false
133       immutable: false
134       type: string
135       description: Default IPv6 gateway.
136     vson_server_group_id:
137       label: vSON server group ID
138       hidden: false
139       immutable: false
140       type: string
141       description: |
142         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.
143     vson_vm_flavor_name:
144       label: Flavor name
145       hidden: false
146       immutable: false
147       type: string
148       description: The ID or name of the flavor to boot onto.
149     port_vson_server_oam_net_port_0_network_role_tag:
150       type: string
151       required: true
152     port_vson_server_oam_net_port_0_vlan_requirements:
153       type: list
154       required: true
155       entry_schema:
156         type: org.openecomp.datatypes.network.VlanRequirements
157     availability_zones:
158       label: Availability zones
159       hidden: false
160       immutable: false
161       type: list
162       description: List of availability zones.
163       entry_schema:
164         type: string
165     volume_ids:
166       label: Volumes IDs
167       hidden: false
168       immutable: false
169       type: list
170       description: List of Volumes IDs.
171       entry_schema:
172         type: string
173     oam_net_v6_ips:
174       label: vSON OAM network IPv6 addresses
175       hidden: false
176       immutable: false
177       type: list
178       description: Fixed IPv6 assignments for vSON instances on the OAM network.
179       entry_schema:
180         type: string
181     ntp_servers:
182       label: NTP servers
183       hidden: false
184       immutable: false
185       type: list
186       description: List of NTP servers.
187       entry_schema:
188         type: string
189     vson_join_cluster_auth_token:
190       label: vSON join cluster auth token
191       hidden: false
192       immutable: false
193       type: string
194       description: |
195         Authentication Token generated for the user permitted to add a new Datacenter/vSON member to existing vSON Cluster.
196     oam_net_id:
197       label: OAM network ID
198       hidden: false
199       immutable: false
200       type: string
201       description: The ID of the OAM network.
202     port_vson_server_oam_net_port_0_order:
203       type: integer
204       required: true
205     port_vson_server_oam_net_port_0_exCP_naming:
206       type: org.openecomp.datatypes.Naming
207       required: true
208     vson_vm_names:
209       label: vSON Cluster leader names
210       hidden: false
211       immutable: false
212       type: list
213       description: A list of unique names to be issued to the vSON Cluster leaders.
214       entry_schema:
215         type: string
216   node_templates:
217     vson_server:
218       type: org.openecomp.resource.vfc.compute.nodes.heat.vson_vm
219       properties:
220         flavor:
221           get_input: vson_vm_flavor_name
222         availability_zone:
223           get_input:
224           - availability_zones
225           - get_input: instance_index
226         image:
227           get_input: vson_vm_image_name
228         metadata:
229           vf_module_id:
230             get_input: vf_module_id
231           vm_role:
232             get_input: vfc_role
233           vnf_id:
234             get_input: vnf_id
235           vnf_name:
236             get_input: vnf_name
237           vf_module_name:
238             get_input: vf_module_name
239         config_drive: true
240         user_data_format: RAW
241         name:
242           get_input:
243           - vson_vm_names
244           - get_input: instance_index
245         scheduler_hints:
246           group:
247             get_input: vson_server_group_id
248     vson_server_oam_net_port_0:
249       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
250       properties:
251         subnetpoolid:
252           get_input: port_vson_server_oam_net_port_0_subnetpoolid
253         network:
254           get_input: oam_net_id
255         ip_requirements:
256           get_input: port_vson_server_oam_net_port_0_ip_requirements
257         security_groups:
258         - get_input: oam_net_security_group_id
259         network_role:
260           get_input: port_vson_server_oam_net_port_0_network_role
261         fixed_ips:
262         - ip_address:
263             get_input:
264             - oam_net_ips
265             - get_input: instance_index
266         - ip_address:
267             get_input:
268             - oam_net_v6_ips
269             - get_input: instance_index
270         mac_requirements:
271           get_input: port_vson_server_oam_net_port_0_mac_requirements
272         subinterface_indicator: false
273         name:
274           str_replace:
275             template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
276             params:
277               VNF_NAME:
278                 get_input: vnf_name
279               VNF_ID:
280                 get_input: vnf_id
281               SERVER_NAME:
282                 get_input:
283                 - vson_vm_names
284                 - get_input: instance_index
285         exCP_naming:
286           get_input: port_vson_server_oam_net_port_0_exCP_naming
287         vlan_requirements:
288           get_input: port_vson_server_oam_net_port_0_vlan_requirements
289         network_role_tag:
290           get_input: port_vson_server_oam_net_port_0_network_role_tag
291         order:
292           get_input: port_vson_server_oam_net_port_0_order
293       requirements:
294       - binding:
295           capability: tosca.capabilities.network.Bindable
296           node: vson_server
297           relationship: tosca.relationships.network.BindsTo
298   groups:
299     nested_vson_server_with_vol_dual_ip_stack_group:
300       type: org.openecomp.groups.heat.HeatStack
301       properties:
302         heat_file: ../Artifacts/nested_vson_server_with_vol_dual_ip_stack.yaml
303         description: |
304           The template intended for deploying vSON VM instance.
305       members:
306       - vson_server
307       - vson_server_oam_net_port_0
308   substitution_mappings:
309     node_type: org.openecomp.resource.abstract.nodes.heat.vson_vm
310     capabilities:
311       disk.write.bytes_vson_server:
312       - vson_server
313       - disk.write.bytes
314       disk.device.allocation_vson_server:
315       - vson_server
316       - disk.device.allocation
317       network.incoming.packets_vson_server_oam_net_port_0:
318       - vson_server_oam_net_port_0
319       - network.incoming.packets
320       memory.usage_vson_server:
321       - vson_server
322       - memory.usage
323       network.incoming.bytes_vson_server_oam_net_port_0:
324       - vson_server_oam_net_port_0
325       - network.incoming.bytes
326       disk.device.latency_vson_server:
327       - vson_server
328       - disk.device.latency
329       disk.device.write.bytes.rate_vson_server:
330       - vson_server
331       - disk.device.write.bytes.rate
332       disk.device.read.requests_vson_server:
333       - vson_server
334       - disk.device.read.requests
335       memory_vson_server:
336       - vson_server
337       - memory
338       disk.latency_vson_server:
339       - vson_server
340       - disk.latency
341       os_vson_server:
342       - vson_server
343       - os
344       feature_vson_server_oam_net_port_0:
345       - vson_server_oam_net_port_0
346       - feature
347       instance_vson_server:
348       - vson_server
349       - instance
350       cpu_vson_server:
351       - vson_server
352       - cpu
353       attachment_vson_server_oam_net_port_0:
354       - vson_server_oam_net_port_0
355       - attachment
356       disk.iops_vson_server:
357       - vson_server
358       - disk.iops
359       network.outgoing.bytes_vson_server_oam_net_port_0:
360       - vson_server_oam_net_port_0
361       - network.outgoing.bytes
362       disk.device.write.bytes_vson_server:
363       - vson_server
364       - disk.device.write.bytes
365       disk.device.read.bytes.rate_vson_server:
366       - vson_server
367       - disk.device.read.bytes.rate
368       endpoint_vson_server:
369       - vson_server
370       - endpoint
371       vcpus_vson_server:
372       - vson_server
373       - vcpus
374       network.incoming.packets.rate_vson_server_oam_net_port_0:
375       - vson_server_oam_net_port_0
376       - network.incoming.packets.rate
377       disk.device.read.requests.rate_vson_server:
378       - vson_server
379       - disk.device.read.requests.rate
380       disk.write.requests.rate_vson_server:
381       - vson_server
382       - disk.write.requests.rate
383       disk.capacity_vson_server:
384       - vson_server
385       - disk.capacity
386       disk.device.capacity_vson_server:
387       - vson_server
388       - disk.device.capacity
389       forwarder_vson_server_oam_net_port_0:
390       - vson_server_oam_net_port_0
391       - forwarder
392       disk.device.iops_vson_server:
393       - vson_server
394       - disk.device.iops
395       disk.device.write.requests.rate_vson_server:
396       - vson_server
397       - disk.device.write.requests.rate
398       network.outpoing.packets_vson_server_oam_net_port_0:
399       - vson_server_oam_net_port_0
400       - network.outpoing.packets
401       disk.read.bytes_vson_server:
402       - vson_server
403       - disk.read.bytes
404       disk.read.bytes.rate_vson_server:
405       - vson_server
406       - disk.read.bytes.rate
407       disk.device.write.requests_vson_server:
408       - vson_server
409       - disk.device.write.requests
410       network.outgoing.packets.rate_vson_server_oam_net_port_0:
411       - vson_server_oam_net_port_0
412       - network.outgoing.packets.rate
413       disk.root.size_vson_server:
414       - vson_server
415       - disk.root.size
416       disk.ephemeral.size_vson_server:
417       - vson_server
418       - disk.ephemeral.size
419       memory.resident_vson_server:
420       - vson_server
421       - memory.resident
422       disk.device.read.bytes_vson_server:
423       - vson_server
424       - disk.device.read.bytes
425       scalable_vson_server:
426       - vson_server
427       - scalable
428       network.outgoing.bytes.rate_vson_server_oam_net_port_0:
429       - vson_server_oam_net_port_0
430       - network.outgoing.bytes.rate
431       disk.write.requests_vson_server:
432       - vson_server
433       - disk.write.requests
434       disk.usage_vson_server:
435       - vson_server
436       - disk.usage
437       cpu_util_vson_server:
438       - vson_server
439       - cpu_util
440       disk.device.usage_vson_server:
441       - vson_server
442       - disk.device.usage
443       cpu.delta_vson_server:
444       - vson_server
445       - cpu.delta
446       disk.write.bytes.rate_vson_server:
447       - vson_server
448       - disk.write.bytes.rate
449       feature_vson_server:
450       - vson_server
451       - feature
452       disk.allocation_vson_server:
453       - vson_server
454       - disk.allocation
455       binding_vson_server:
456       - vson_server
457       - binding
458       host_vson_server:
459       - vson_server
460       - host
461       network.incoming.bytes.rate_vson_server_oam_net_port_0:
462       - vson_server_oam_net_port_0
463       - network.incoming.bytes.rate
464       binding_vson_server_oam_net_port_0:
465       - vson_server_oam_net_port_0
466       - binding
467       disk.read.requests_vson_server:
468       - vson_server
469       - disk.read.requests
470     requirements:
471       link_vson_server_oam_net_port_0:
472       - vson_server_oam_net_port_0
473       - link
474       dependency_vson_server:
475       - vson_server
476       - dependency
477       dependency_vson_server_oam_net_port_0:
478       - vson_server_oam_net_port_0
479       - dependency
480       local_storage_vson_server:
481       - vson_server
482       - local_storage