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
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
46 compute_props_host_CM: &compute_props_host_CM
51 compute_props_host_DM: &compute_props_host_DM
56 compute_props_host_LB: &compute_props_host_LB
61 # topology template definition of the cloud application or service
63 # a description of the topology template
71 description: mm additional block storage size
73 - in_range: [ 1, 200 ]
75 substitution_mappings:
76 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
93 properties: *compute_props_os_DEF
95 properties: *compute_props_host_MM
99 relationship: Storage_attachesto
100 - high_availability: MM_Passive
107 implementation: mm_install.sh
109 implementation: mm_active_configure.sh
112 type: rnc.nodes.compute.MM
118 properties: *compute_props_os_DEF
120 properties: *compute_props_host_MM
123 node: MM_BlockStorage
124 relationship: Storage_attachesto
125 - high_availability: MM_Active
132 implementation: mm_install.sh
134 implementation: mm_passvie_configure.sh
137 type: rnc.nodes.compute.CM
142 properties: *compute_props_os_DEF
144 properties: *compute_props_host_CM
151 - high_availability: CM_Passive
158 implementation: cm_install.sh
160 implementation: cm_active_configure.sh
163 type: rnc.nodes.compute.CM
168 properties: *compute_props_os_DEF
170 properties: *compute_props_host_CM
177 - high_availability: CM_Active
184 implementation: cm_install.sh
186 implementation: cm_passvie_configure.sh
189 type: rnc.nodes.compute.DM
192 properties: *compute_props_os_DEF
194 properties: *compute_props_host_DM
205 implementation: dm_install.sh
207 implementation: dm_configure.sh
210 type: rnc.nodes.compute.LB
213 properties: *compute_props_os_DEF
215 properties: *compute_props_host_LB
227 implementation: lb_install.sh
229 implementation: lb_configure.sh
232 type: rnc.nodes.BlockStorage
234 size: { get_input: mm_storage_size }
237 post_configure_target:
238 implementation: default_script.sh
245 network_name: Ctrl_Net
257 network_name: InterMedia_Net
269 gateway_ip: 172.1.0.1
270 network_name: ExterMdedia_Net
282 gateway_ip: 129.0.0.1
283 network_name: Ems_Net
289 type: rnc.nodes.CP.MM
294 - virtualBinding: MM_Active
295 - virtualLink: EMS_Net
298 type: rnc.nodes.CP.MM
303 - virtualBinding: MM_Active
304 - virtualLink: EMS_Net
307 type: rnc.nodes.CP.MM
312 - virtualBinding: MM_Active
313 - virtualLink: CTRL_Net
316 type: rnc.nodes.CP.MM
321 - virtualBinding: MM_Active
322 - virtualLink: EXTERMEDIA_Net
325 type: rnc.nodes.CP.CM
330 - virtualBinding: CM_Active
331 - virtualLink: CTRL_Net
334 type: rnc.nodes.CP.CM
339 - virtualBinding: CM_Active
340 - virtualLink: INTERMEDIA_Net
343 type: rnc.nodes.CP.DM
349 - virtualLink: CTRL_Net
352 type: rnc.nodes.CP.DM
358 - virtualLink: INTERMEDIA_Net
361 type: rnc.nodes.CP.LB
367 - virtualLink: CTRL_Net
370 type: rnc.nodes.CP.LB
376 - virtualLink: INTERMEDIA_Net
379 type: rnc.nodes.CP.LB
385 - virtualLink: EXTERMEDIA_Net
387 # definition of the relationship templates of the topology
388 relationship_templates:
390 type: tosca.relationships.AttachesTo
392 location: /data_location
394 # definition of output parameters for the topology template
397 description: The private IP address of the MM.
398 value: { get_attribute: [ MM_Active, private_address ] }
401 description: The private IP address of the CM.
402 value: { get_attribute: [ CM_Active, private_address ] }
405 description: The private IP address of the DM.
406 value: { get_attribute: [ DM, private_address ] }
409 description: The private IP address of the LB.
410 value: { get_attribute: [ LB, private_address ] }
412 # definition of logical groups of node templates within the topology
413 # To be continue about this section
415 AnitAffinityServerGroup:
416 type: tosca.groups.Root
418 Logical component grouping for anti affinity placement,
419 MM_Acitve, MM_Passive, CM_Acitve, CM_Passive, LB must host
420 on different host to reduce the impact to each other.
421 members: [ MM_Active, MM_Passive, CM_Active, CM_Passive, LB ]
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 ]
431 - AnitAffinityPolicy:
432 type: tosca.policies.Placement.Antilocate
433 description: Apply anti-locate placement policy to group
434 targets: [ AnitAffinityServerGroup ]
437 type: tosca.policies.Placement.Colocate
438 description: Apply anti-locate placement policy to group
439 targets: [ AffinityServerGroup ]
441 # ServerGroupScaling_DM: # added future
442 # members: [ DM, ]# only one, will be error
444 # - name: MyScaleUpPolicy
445 # - type: tosca.policy.scale.up | tosca.policy.scale.down
446 # - rule: fn.utilizaton [ DM ], greater_than: 80
447 # - trigger: script_dm
449 # ServerGroupScaling_LB: # added future
450 # members: [ LB, ] # only one, will be error
452 # - name: MyScaleUpPolicy
453 # - type: tosca.policy.scale.up | tosca.policy.scale.down
454 # - rule: fn.utilizaton [ LB ], greater_than: 80
455 # - trigger: script_lb