1 # Required TOSCA Definitions version string
2 tosca_definitions_version: tosca_simple_yaml_1_0
5 template_name: tosca_simple_profile_for_nfv
6 template_author: opnfv_parser_project
7 template_version: tosca_simple_profile_for_nfv_1_0
9 # Optional description of the definitions inside the file.
11 TOSCA simple profile for RNC
12 1, Compute Node MM, CM, DM, LB...
13 1.1 MM: MaintainModule;
14 1.2 CM: Control Module;
16 1.4 LB: LineCard Module
17 2, Network Node VL and CP
20 - Simple_RNC_definition.yaml
22 # list of YAML alias anchors (or macros)
24 compute_props_os_DEF: &compute_props_os_DEF
30 compute_props_host_MM: &compute_props_host_MM
37 compute_props_host_CM: &compute_props_host_CM
42 compute_props_host_DM: &compute_props_host_DM
47 compute_props_host_LB: &compute_props_host_LB
52 # topology template definition of the cloud application or service
54 # a description of the topology template
62 description: mm additional block storage size
64 - valid_values: [ 10, 20, 40, 80 ]
66 substitution_mappings:
71 # definition of the node templates of the topology
74 type: rnc.nodes.compute.MM
78 - host: MM_Active_Host
79 - high_availability: MM_Passive
86 implementation: mm_install.sh
88 implementation: mm_active_configure.sh
91 type: rnc.nodes.compute.MM
95 - host: MM_Passive_Host
96 - high_availability: MM_Active
103 implementation: mm_install.sh
105 implementation: mm_passvie_configure.sh
108 type: rnc.nodes.compute.MM_Host
111 properties: *compute_props_os_DEF
113 properties: *compute_props_host_MM
116 node: MM_BlockStorage
117 relationship: Storage_attachesto
119 ip_address: { get_attribute: [ SELF, private_address ] }
122 type: rnc.nodes.compute.MM_Host
126 type: rnc.nodes.compute.CM
130 - host: CM_Active_Host
131 - high_availability: CM_Passive
138 implementation: cm_install.sh
140 implementation: cm_active_configure.sh
143 type: rnc.nodes.compute.CM
147 - host: CM_Passive_Host
148 - high_availability: CM_Active
155 implementation: cm_install.sh
157 implementation: cm_passvie_configure.sh
160 type: rnc.nodes.compute.CM_Host
163 properties: *compute_props_os_DEF
165 properties: *compute_props_host_CM
172 ip_address: { get_attribute: [ SELF, private_address ] }
175 type: rnc.nodes.compute.MM_Host
179 type: rnc.nodes.compute.DM
187 implementation: dm_install.sh
189 implementation: dm_configure.sh
192 type: rnc.nodes.compute.DM_Host
195 properties: *compute_props_os_DEF
197 properties: *compute_props_host_DM
204 ip_address: { get_attribute: [ SELF, private_address ] }
207 type: rnc.nodes.compute.LB
216 implementation: lb_install.sh
218 implementation: lb_configure.sh
221 type: rnc.nodes.compute.LB_Host
224 properties: *compute_props_os_DEF
226 properties: *compute_props_host_LB
233 ip_address: { get_attribute: [ SELF, private_address ] }
236 type: rnc.nodes.BlockStorage
238 size: { get_input: mm_storage_size }
241 post_configure_target:
242 implementation: default_script.sh
282 - virtualbinding: MM_Active
283 - virtualLink: EMS_NetWork
291 - virtualbinding: MM_Active
292 - virtualLink: CTRL_NetWork
300 - virtualbinding: MM_Active
301 - virtualLink: EXTERMEDIA_NetWork
309 - virtualbinding: CM_Active
310 - virtualLink: CTRL_NetWork
318 - virtualbinding: CM_Active
319 - virtualLink: INTERMEDIA_NetWork
328 - virtualLink: CTRL_NetWork
337 - virtualLink: INTERMEDIA_NetWork
346 - virtualLink: CTRL_NetWork
355 - virtualLink: INTERMEDIA_NetWork
364 - virtualLink: EXTERMEDIA_NetWork
366 # definition of the relationship templates of the topology
367 relationship_templates:
369 type: tosca.relationships.AttachesTo
371 location: /data_location
373 # definition of output parameters for the topology template
376 description: The private IP address of the MM.
377 value: { get_attribute: [ MM_Active_Host, ip_address ] }
380 description: The private IP address of the CM.
381 value: { get_attribute: [ CM_Active_Host, ip_address ] }
384 description: The private IP address of the DM.
385 value: { get_attribute: [ DM_Host, ip_address ] }
388 description: The private IP address of the LB.
389 value: { get_attribute: [ LB_Host, ip_address ] }
391 # definition of logical groups of node templates within the topology
392 # To be continue about this section
394 ServerGroupAnitAffinity: #
395 description: Logical component grouping for placement
396 members: [ MM_Acitve, MM_Passive, CM_Acitve, CM_Passive, LB ]
398 type: tosca.policy.placement.Antilocate
400 # ServerGroupAffinity: #
401 # members: [ CM, DM ]
403 # type: tosca.policy.placement.Antilocate
405 # ServerGroupScaling_DM: # added future
406 # members: [ DM, ]# only one, will be error
408 # - name: MyScaleUpPolicy
409 # - type: tosca.policy.scale.up | tosca.policy.scale.down
410 # - rule: fn.utilizaton [ DM ], greater_than: 80
411 # - trigger: script_dm
413 # ServerGroupScaling_LB: # added future
414 # members: [ LB, ] # only one, will be error
416 # - name: MyScaleUpPolicy
417 # - type: tosca.policy.scale.up | tosca.policy.scale.down
418 # - rule: fn.utilizaton [ LB ], greater_than: 80
419 # - trigger: script_lb