1 ## Licensed under the Apache License, Version 2.0 (the "License"); you may
2 ## not use this file except in compliance with the License. You may obtain
3 ## a copy of the License at
5 ## http://www.apache.org/licenses/LICENSE-2.0
7 ## Unless required by applicable law or agreed to in writing, software
8 ## distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9 ## WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10 ## License for the specific language governing permissions and limitations
13 tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
16 template_name: tosca_simple_profile_for_nfv_vRNC
17 template_author: opnfv_parser_project_from_zte
18 template_version: tosca_simple_profile_for_nfv_1_0
20 # Optional description of the definitions inside the file.
22 TOSCA simple profile for RNC
23 1. Compute Node MM, CM, DM, LB...
24 1.1 MM: MaintainModule;
25 1.2 CM: Control Module;
27 1.4 LB: LineCard Module
28 2. Network Node VL and CP
31 - Simple_RNC_definition.yaml
33 # list of YAML alias anchors (or macros)
35 compute_props_os_DEF: &compute_props_os_DEF
41 compute_props_host_MM: &compute_props_host_MM
48 compute_props_host_CM: &compute_props_host_CM
53 compute_props_host_DM: &compute_props_host_DM
58 compute_props_host_LB: &compute_props_host_LB
63 # topology template definition of the cloud application or service
65 # a description of the topology template
73 description: mm additional block storage size
75 - in_range: [ 1, 200 ]
77 substitution_mappings:
78 node_type: rnc.nodes.VNF
80 virtualLink_VNFM: [ MM_Port_CTRL, virtualLink ]
81 virtualLink_EMS: [ MM_Port_EMS, virtualLink ]
82 virtualLink_TRAFFIC: [ LB_Port_EXTERMEDIA, virtualLink ]
84 # definition of the node templates of the topology
87 type: rnc.nodes.compute.MM
92 properties: *compute_props_os_DEF
94 properties: *compute_props_host_MM
98 relationship: Storage_attachesto
105 implementation: mm_install.sh
107 implementation: mm_active_configure.sh
109 ip_address: { get_attribute: [ SELF, private_address ] }
112 type: rnc.nodes.compute.MM
117 properties: *compute_props_os_DEF
119 properties: *compute_props_host_MM
122 node: MM_BlockStorage
123 relationship: Storage_attachesto
124 - high_availability: MM_Active
131 implementation: mm_install.sh
133 implementation: mm_passvie_configure.sh
135 ip_address: { get_attribute: [ SELF, private_address ] }
138 type: rnc.nodes.compute.CM
143 properties: *compute_props_os_DEF
145 properties: *compute_props_host_CM
157 implementation: cm_install.sh
159 implementation: cm_active_configure.sh
161 ip_address: { get_attribute: [ SELF, private_address ] }
164 type: rnc.nodes.compute.CM
169 properties: *compute_props_os_DEF
171 properties: *compute_props_host_CM
178 - high_availability: CM_Active
185 implementation: cm_install.sh
187 implementation: cm_passvie_configure.sh
189 ip_address: { get_attribute: [ SELF, private_address ] }
192 type: rnc.nodes.compute.DM
195 properties: *compute_props_os_DEF
197 properties: *compute_props_host_DM
208 implementation: dm_install.sh
210 implementation: dm_configure.sh
212 ip_address: { get_attribute: [ SELF, private_address ] }
215 type: rnc.nodes.compute.LB
218 properties: *compute_props_os_DEF
220 properties: *compute_props_host_LB
232 implementation: lb_install.sh
234 implementation: lb_configure.sh
236 ip_address: { get_attribute: [ SELF, private_address ] }
239 type: rnc.nodes.BlockStorage
241 size: { get_input: mm_storage_size }
244 post_configure_target:
245 implementation: default_script.sh
252 network_name: Ctrl_Net
264 network_name: InterMedia_Net
276 gateway_ip: 172.1.0.1
277 network_name: ExterMdedia_Net
289 gateway_ip: 129.0.0.1
290 network_name: Ems_Net
301 - virtualBinding: MM_Active
302 - virtualLink: EMS_Net
310 - virtualBinding: MM_Active
311 - virtualLink: CTRL_Net
319 - virtualBinding: MM_Active
320 - virtualLink: EXTERMEDIA_Net
328 - virtualBinding: CM_Active
329 - virtualLink: CTRL_Net
337 - virtualBinding: CM_Active
338 - virtualLink: INTERMEDIA_Net
347 - virtualLink: CTRL_Net
356 - virtualLink: INTERMEDIA_Net
365 - virtualLink: CTRL_Net
374 - virtualLink: INTERMEDIA_Net
383 - virtualLink: EXTERMEDIA_Net
385 # definition of the relationship templates of the topology
386 relationship_templates:
388 type: tosca.relationships.AttachesTo
390 location: /data_location
392 # definition of output parameters for the topology template
395 description: The private IP address of the MM.
396 value: { get_attribute: [ MM_Active, private_address ] }
399 description: The private IP address of the CM.
400 value: { get_attribute: [ CM_Active, private_address ] }
403 description: The private IP address of the DM.
404 value: { get_attribute: [ DM, private_address ] }
407 description: The private IP address of the LB.
408 value: { get_attribute: [ LB, private_address ] }
410 # definition of logical groups of node templates within the topology
411 # To be continue about this section
413 AnitAffinityServerGroup:
414 type: tosca.groups.Root
416 Logical component grouping for anti affinity placement,
417 MM_Acitve, MM_Passive, CM_Acitve, CM_Passive, LB must host
418 on different host to reduce the impact to each other.
419 members: [ MM_Active, MM_Passive, CM_Active, CM_Passive, LB ]
421 type: tosca.policy.placement.Antilocate
424 type: tosca.groups.Root
426 Logical component grouping for affinity placement,
427 CM and DM will be host on the same host to get high performence
428 members: [ CM_Active, DM ]
430 type: tosca.policy.placement.Antilocate
433 - AnitAffinityPolicy:
434 type: tosca.policies.Placement.Antilocate
435 description: Apply anti-locate placement policy to group
436 targets: [ AnitAffinityServerGroup ]
439 type: tosca.policies.Placement.Colocate
440 description: Apply anti-locate placement policy to group
441 targets: [ AffinityServerGroup ]
443 # ServerGroupScaling_DM: # added future
444 # members: [ DM, ]# only one, will be error
446 # - name: MyScaleUpPolicy
447 # - type: tosca.policy.scale.up | tosca.policy.scale.down
448 # - rule: fn.utilizaton [ DM ], greater_than: 80
449 # - trigger: script_dm
451 # ServerGroupScaling_LB: # added future
452 # members: [ LB, ] # only one, will be error
454 # - name: MyScaleUpPolicy
455 # - type: tosca.policy.scale.up | tosca.policy.scale.down
456 # - rule: fn.utilizaton [ LB ], greater_than: 80
457 # - trigger: script_lb