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: tosca.nodes.SoftwareComponent
89 component_version: 1.0
91 - host: MM_Active_Host
95 implementation: mm_install.sh
97 implementation: mm_active_configure.sh
100 type: rnc.nodes.compute.MM
106 properties: *compute_props_os_DEF
108 properties: *compute_props_host_MM
111 node: MM_BlockStorage
112 relationship: Storage_attachesto
113 - high_availability: MM_Passive
119 type: tosca.nodes.SoftwareComponent
121 component_version: 1.0
123 - host: MM_Passive_Host
127 implementation: mm_install.sh
129 implementation: mm_passvie_configure.sh
132 type: rnc.nodes.compute.MM
138 properties: *compute_props_os_DEF
140 properties: *compute_props_host_MM
143 node: MM_BlockStorage
144 relationship: Storage_attachesto
145 - high_availability: MM_Active
151 type: tosca.nodes.SoftwareComponent
153 component_version: 1.0
155 - host: CM_Active_Host
159 implementation: cm_install.sh
161 implementation: cm_active_configure.sh
164 type: rnc.nodes.compute.CM
169 properties: *compute_props_os_DEF
171 properties: *compute_props_host_CM
178 - high_availability: CM_Passive
184 type: tosca.nodes.SoftwareComponent
186 component_version: 1.0
188 - host: CM_Passive_Host
192 implementation: cm_install.sh
194 implementation: cm_passvie_configure.sh
197 type: rnc.nodes.compute.CM
202 properties: *compute_props_os_DEF
204 properties: *compute_props_host_CM
211 - high_availability: CM_Active
217 type: tosca.nodes.SoftwareComponent
219 component_version: 1.0
225 implementation: dm_install.sh
227 implementation: dm_configure.sh
230 type: rnc.nodes.compute.DM
233 properties: *compute_props_os_DEF
235 properties: *compute_props_host_DM
245 type: tosca.nodes.SoftwareComponent
247 component_version: 1.0
253 implementation: lb_install.sh
255 implementation: lb_configure.sh
258 type: rnc.nodes.compute.LB
261 properties: *compute_props_os_DEF
263 properties: *compute_props_host_LB
274 type: rnc.nodes.BlockStorage
276 size: { get_input: mm_storage_size }
279 post_configure_target:
280 implementation: default_script.sh
287 network_name: Ctrl_Net
299 network_name: InterMedia_Net
311 gateway_ip: 172.1.0.1
312 network_name: ExterMdedia_Net
324 gateway_ip: 129.0.0.1
325 network_name: Ems_Net
331 type: rnc.nodes.CP.MM
336 - virtualBinding: MM_Active_Host
337 - virtualLink: EMS_Net
339 MM_Active_Port_EXTERMEDIA:
340 type: rnc.nodes.CP.MM
345 - virtualBinding: MM_Active_Host
346 - virtualLink: EMS_Net
349 type: rnc.nodes.CP.MM
354 - virtualBinding: MM_Active_Host
355 - virtualLink: CTRL_Net
357 MM_Active_Port_INTERMEDIA:
358 type: rnc.nodes.CP.MM
363 - virtualBinding: MM_Active_Host
364 - virtualLink: EXTERMEDIA_Net
367 type: rnc.nodes.CP.MM
372 - virtualBinding: MM_Passive_Host
373 - virtualLink: EMS_Net
375 MM_Passive_Port_EXTERMEDIA:
376 type: rnc.nodes.CP.MM
381 - virtualBinding: MM_Passive_Host
382 - virtualLink: EMS_Net
384 MM_Passive_Port_CTRL:
385 type: rnc.nodes.CP.MM
390 - virtualBinding: MM_Passive_Host
391 - virtualLink: CTRL_Net
393 MM_Passive_Port_INTERMEDIA:
394 type: rnc.nodes.CP.MM
399 - virtualBinding: MM_Passive_Host
400 - virtualLink: EXTERMEDIA_Net
403 type: rnc.nodes.CP.CM
408 - virtualBinding: CM_Active_Host
409 - virtualLink: CTRL_Net
411 CM_Active_Port_INTERMEDIA:
412 type: rnc.nodes.CP.CM
417 - virtualBinding: CM_Active_Host
418 - virtualLink: INTERMEDIA_Net
420 CM_Passive_Port_CTRL:
421 type: rnc.nodes.CP.CM
426 - virtualBinding: CM_Passive_Host
427 - virtualLink: CTRL_Net
429 CM_Passive_Port_INTERMEDIA:
430 type: rnc.nodes.CP.CM
435 - virtualBinding: CM_Passive_Host
436 - virtualLink: INTERMEDIA_Net
439 type: rnc.nodes.CP.DM
445 - virtualLink: CTRL_Net_Host
448 type: rnc.nodes.CP.DM
453 - virtualBinding: DM_Host
454 - virtualLink: INTERMEDIA_Net
457 type: rnc.nodes.CP.LB
462 - virtualBinding: LB_Host
463 - virtualLink: CTRL_Net
466 type: rnc.nodes.CP.LB
471 - virtualBinding: LB_Host
472 - virtualLink: INTERMEDIA_Net
475 type: rnc.nodes.CP.LB
480 - virtualBinding: LB_Host
481 - virtualLink: EXTERMEDIA_Net
483 # definition of the relationship templates of the topology
484 relationship_templates:
486 type: tosca.relationships.AttachesTo
488 location: /data_location
490 # definition of output parameters for the topology template
493 description: The private IP address of the MM.
494 value: { get_attribute: [ MM_Active_Host, private_address ] }
497 description: The private IP address of the CM.
498 value: { get_attribute: [ CM_Active_Host, private_address ] }
501 description: The private IP address of the DM.
502 value: { get_attribute: [ DM_Host, private_address ] }
505 description: The private IP address of the LB.
506 value: { get_attribute: [ LB_Host, private_address ] }
508 # definition of logical groups of node templates within the topology
509 # To be continue about this section
511 AnitAffinityServerGroup:
512 type: tosca.groups.Root
514 Logical component grouping for anti affinity placement,
515 MM_Acitve, MM_Passive, CM_Acitve, CM_Passive, LB must host
516 on different host to reduce the impact to each other.
517 members: [ MM_Active, MM_Passive, CM_Active, CM_Passive, LB ]
520 type: tosca.groups.Root
522 Logical component grouping for affinity placement,
523 CM and DM will be host on the same host to get high performence
524 members: [ CM_Active, DM ]
527 - AnitAffinityPolicy:
528 type: tosca.policies.Placement.Antilocate
529 description: Apply anti-locate placement policy to group
530 targets: [ AnitAffinityServerGroup ]
533 type: tosca.policies.Placement.Colocate
534 description: Apply anti-locate placement policy to group
535 targets: [ AffinityServerGroup ]
537 # ServerGroupScaling_DM: # added future
538 # members: [ DM, ]# only one, will be error
540 # - name: MyScaleUpPolicy
541 # - type: tosca.policy.scale.up | tosca.policy.scale.down
542 # - rule: fn.utilizaton [ DM ], greater_than: 80
543 # - trigger: script_dm
545 # ServerGroupScaling_LB: # added future
546 # members: [ LB, ] # only one, will be error
548 # - name: MyScaleUpPolicy
549 # - type: tosca.policy.scale.up | tosca.policy.scale.down
550 # - rule: fn.utilizaton [ LB ], greater_than: 80
551 # - trigger: script_lb