diff options
-rw-r--r-- | docs/parser_docs/tosca2heat/examples/Simple_RNC.yaml | 261 |
1 files changed, 153 insertions, 108 deletions
diff --git a/docs/parser_docs/tosca2heat/examples/Simple_RNC.yaml b/docs/parser_docs/tosca2heat/examples/Simple_RNC.yaml index 9f99c57..e22a1c8 100644 --- a/docs/parser_docs/tosca2heat/examples/Simple_RNC.yaml +++ b/docs/parser_docs/tosca2heat/examples/Simple_RNC.yaml @@ -1,9 +1,22 @@ +# +## Licensed under the Apache License, Version 2.0 (the "License"); you may +## not use this file except in compliance with the License. You may obtain +## a copy of the License at +## +## http://www.apache.org/licenses/LICENSE-2.0 +## +## Unless required by applicable law or agreed to in writing, software +## distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +## WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +## License for the specific language governing permissions and limitations +## under the License. + # Required TOSCA Definitions version string -tosca_definitions_version: tosca_simple_yaml_1_0 +tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0 metadata: - template_name: tosca_simple_profile_for_nfv - template_author: opnfv_parser_project + template_name: tosca_simple_profile_for_nfv_vRNC + template_author: opnfv_parser_project_from_zte template_version: tosca_simple_profile_for_nfv_1_0 # Optional description of the definitions inside the file. @@ -61,12 +74,16 @@ topology_template: default: 40 GB description: mm additional block storage size constraints: - - valid_values: [ 10, 20, 40, 80 ] + - in_range: [ 1, 200 ] substitution_mappings: - type: rnc.nodes.VNF + node_type: rnc.nodes.VNF properties: - vnfmtype: RADIO + vnfmtype: TDS-CDMA + requirements: + virtualLink_VNFM: [ MM_Port_CTRL, virtualLink ] + virtualLink_EMS: [ MM_Port_EMS, virtualLink ] + virtualLink_TRAFFIC: [ LB_Port_EXTERMEDIA, virtualLink ] # definition of the node templates of the topology node_templates: @@ -74,8 +91,15 @@ topology_template: type: rnc.nodes.compute.MM properties: activestatus: 1 + capabilities: + os: + properties: *compute_props_os_DEF + host: + properties: *compute_props_host_MM requirements: - - host: MM_Active_Host + - local_storage: + node: MM_BlockStorage + relationship: Storage_attachesto - high_availability: MM_Passive artifacts: #the VM image of MM @@ -86,13 +110,22 @@ topology_template: implementation: mm_install.sh configure: implementation: mm_active_configure.sh + attributes: + ip_address: { get_attribute: [ SELF, private_address ] } MM_Passive: type: rnc.nodes.compute.MM properties: activestatus: 0 + capabilities: + os: + properties: *compute_props_os_DEF + host: + properties: *compute_props_host_MM requirements: - - host: MM_Passive_Host + - local_storage: + node: MM_BlockStorage + relationship: Storage_attachesto - high_availability: MM_Active artifacts: #the VM image of MM @@ -103,31 +136,24 @@ topology_template: implementation: mm_install.sh configure: implementation: mm_passvie_configure.sh - - MM_Active_Host: - type: rnc.nodes.compute.MM_Host - capabilities: - os: - properties: *compute_props_os_DEF - host: - properties: *compute_props_host_MM - requirements: - - local_storage: - node: MM_BlockStorage - relationship: Storage_attachesto attributes: ip_address: { get_attribute: [ SELF, private_address ] } - MM_Passive_Host: - type: rnc.nodes.compute.MM_Host - copy: MM_Active_Host - CM_Active: type: rnc.nodes.compute.CM properties: activestatus: 1 + capabilities: + os: + properties: *compute_props_os_DEF + host: + properties: *compute_props_host_CM + scalable: + properties: + min_instances: 1 + max_instances: 126 + default_instances: 1 requirements: - - host: CM_Active_Host - high_availability: CM_Passive artifacts: #the VM image of CM @@ -138,13 +164,24 @@ topology_template: implementation: cm_install.sh configure: implementation: cm_active_configure.sh + attributes: + ip_address: { get_attribute: [ SELF, private_address ] } CM_Passive: type: rnc.nodes.compute.CM properties: activestatus: 0 + capabilities: + os: + properties: *compute_props_os_DEF + host: + properties: *compute_props_host_CM + scalable: + properties: + min_instances: 1 + max_instances: 126 + default_instances: 1 requirements: - - host: CM_Passive_Host - high_availability: CM_Active artifacts: #the VM image of CM @@ -155,30 +192,21 @@ topology_template: implementation: cm_install.sh configure: implementation: cm_passvie_configure.sh + attributes: + ip_address: { get_attribute: [ SELF, private_address ] } - CM_Active_Host: - type: rnc.nodes.compute.CM_Host + DM: + type: rnc.nodes.compute.DM capabilities: os: properties: *compute_props_os_DEF host: - properties: *compute_props_host_CM + properties: *compute_props_host_DM scalable: properties: min_instances: 1 - max_instances: 126 + max_instances: 120 default_instances: 1 - attributes: - ip_address: { get_attribute: [ SELF, private_address ] } - - CM_Passive_Host: - type: rnc.nodes.compute.MM_Host - copy: CM_Active_Host - - DM: - type: rnc.nodes.compute.DM - requirements: - - host: DM_Host artifacts: vm_image: dm.image interfaces: @@ -187,26 +215,21 @@ topology_template: implementation: dm_install.sh configure: implementation: dm_configure.sh + attributes: + ip_address: { get_attribute: [ SELF, private_address ] } - DM_Host: - type: rnc.nodes.compute.DM_Host + LB: + type: rnc.nodes.compute.LB capabilities: os: properties: *compute_props_os_DEF host: - properties: *compute_props_host_DM + properties: *compute_props_host_LB scalable: properties: min_instances: 1 - max_instances: 120 + max_instances: 20 default_instances: 1 - attributes: - ip_address: { get_attribute: [ SELF, private_address ] } - - LB: - type: rnc.nodes.compute.LB - requirements: - - host: LB_Host artifacts: #the VM image of LB vm_image: lb.image @@ -216,19 +239,6 @@ topology_template: implementation: lb_install.sh configure: implementation: lb_configure.sh - - LB_Host: - type: rnc.nodes.compute.LB_Host - capabilities: - os: - properties: *compute_props_os_DEF - host: - properties: *compute_props_host_LB - scalable: - properties: - min_instances: 1 - max_instances: 20 - default_instances: 1 attributes: ip_address: { get_attribute: [ SELF, private_address ] } @@ -241,64 +251,80 @@ topology_template: post_configure_target: implementation: default_script.sh - CTRL_NetWork: + CTRL_Net: type: rnc.nodes.VL properties: - vendor: "zte" + vendor: ZTE cidr: "128.0.0.0/8" - network_name: net1 + network_name: Ctrl_Net + network_type: vlan + segmentation_id: 110 dhcp_enabled: false - INTERMEDIA_NetWork: + INTERMEDIA_Net: type: rnc.nodes.VL properties: - vendor: "zte" - cidr: "10.0.0.0/8" - network_name: net3 - dhcp_enabled: true + vendor: ZTE + cidr: 10.0.0.0/8 + start_ip: 10.1.0.1 + end_ip: 10.1.2.254 + network_name: InterMedia_Net + network_type: vlan + segmentation_id: 111 + dhcp_enabled: false - EXTERMEDIA_NetWork: + EXTERMEDIA_Net: type: rnc.nodes.VL properties: - vendor: "zte" - cidr: "172.1.0.0/20" - network_name: net2 - dhcp_enabled: true + vendor: ZTE + cidr: 172.1.0.0/16 + start_ip: 172.1.0.2 + end_ip: 172.1.2.254 + gateway_ip: 172.1.0.1 + network_name: ExterMdedia_Net + network_type: vlan + segmentation_id: 100 + dhcp_enabled: false - EMS_NetWork: + EMS_Net: type: rnc.nodes.VL properties: - vendor: "zte" - cidr: "129.0.0.0/8" - network_name: net2 - dhcp_enabled: true + vendor: ZTE + cidr: 129.0.0.0/24 + start_ip: 129.0.0.2 + end_ip: 129.0.0.64 + gateway_ip: 129.0.0.1 + network_name: Ems_Net + network_type: vlan + segmentation_id: 101 + dhcp_enabled: false MM_Port_EMS: type: rnc.nodes.CP properties: - order: 1 + order: 0 is_default: true requirements: - virtualbinding: MM_Active - - virtualLink: EMS_NetWork + - virtualLink: EMS_Net MM_Port_CTRL: type: rnc.nodes.CP properties: - order: 0 - is_default: true + order: 1 + is_default: false requirements: - virtualbinding: MM_Active - - virtualLink: CTRL_NetWork + - virtualLink: CTRL_Net MM_Port_EXTERMEDIA: type: rnc.nodes.CP properties: order: 2 - is_default: true + is_default: false requirements: - virtualbinding: MM_Active - - virtualLink: EXTERMEDIA_NetWork + - virtualLink: EXTERMEDIA_Net CM_Port_CTRL: type: rnc.nodes.CP @@ -307,7 +333,7 @@ topology_template: is_default: true requirements: - virtualbinding: CM_Active - - virtualLink: CTRL_NetWork + - virtualLink: CTRL_Net CM_Port_INTERMEDIA: type: rnc.nodes.CP @@ -316,7 +342,7 @@ topology_template: is_default: false requirements: - virtualbinding: CM_Active - - virtualLink: INTERMEDIA_NetWork + - virtualLink: INTERMEDIA_Net DM_Port_CTRL: type: rnc.nodes.CP @@ -325,7 +351,7 @@ topology_template: is_default: true requirements: - virtualbinding: DM - - virtualLink: CTRL_NetWork + - virtualLink: CTRL_Net DM_Port_INTERMEDIA: type: rnc.nodes.CP @@ -334,7 +360,7 @@ topology_template: is_default: false requirements: - virtualbinding: DM - - virtualLink: INTERMEDIA_NetWork + - virtualLink: INTERMEDIA_Net LB_Port_CTRL: type: rnc.nodes.CP @@ -343,7 +369,7 @@ topology_template: is_default: true requirements: - virtualbinding: LB - - virtualLink: CTRL_NetWork + - virtualLink: CTRL_Net LB_Port_INTERMEDIA: type: rnc.nodes.CP @@ -352,7 +378,7 @@ topology_template: is_default: false requirements: - virtualbinding: LB - - virtualLink: INTERMEDIA_NetWork + - virtualLink: INTERMEDIA_Net LB_Port_EXTERMEDIA: type: rnc.nodes.CP @@ -361,46 +387,65 @@ topology_template: is_default: false requirements: - virtualbinding: LB - - virtualLink: EXTERMEDIA_NetWork + - virtualLink: EXTERMEDIA_Net # definition of the relationship templates of the topology relationship_templates: Storage_attachesto: type: tosca.relationships.AttachesTo properties: - location: /data_location + location: /data_location # definition of output parameters for the topology template outputs: private_ip_of_MM: description: The private IP address of the MM. - value: { get_attribute: [ MM_Active_Host, ip_address ] } + value: { get_attribute: [ MM_Active, ip_address ] } private_ip_of_CM: description: The private IP address of the CM. - value: { get_attribute: [ CM_Active_Host, ip_address ] } + value: { get_attribute: [ CM_Active, ip_address ] } private_ip_of_DM: description: The private IP address of the DM. - value: { get_attribute: [ DM_Host, ip_address ] } + value: { get_attribute: [ DM, ip_address ] } private_ip_of_LB: description: The private IP address of the LB. - value: { get_attribute: [ LB_Host, ip_address ] } + value: { get_attribute: [ LB, ip_address ] } # definition of logical groups of node templates within the topology # To be continue about this section groups: - ServerGroupAnitAffinity: # - description: Logical component grouping for placement + AnitAffinityServerGroup: + type: tosca.groups.Root + description: > + Logical component grouping for anti affinity placement, + MM_Acitve, MM_Passive, CM_Acitve, CM_Passive, LB must host + on different host to reduce the impact to each other. members: [ MM_Acitve, MM_Passive, CM_Acitve, CM_Passive, LB ] policies: type: tosca.policy.placement.Antilocate - # ServerGroupAffinity: # - # members: [ CM, DM ] - # policies: - # type: tosca.policy.placement.Antilocate + AffinityServerGroup: + type: tosca.groups.Root + description: > + Logical component grouping for affinity placement, + CM and DM will be host on the same host to get high performence + members: [ CM, DM ] + policies: + type: tosca.policy.placement.Antilocate + + policies: + - AnitAffinityPolicy: + type: tosca.policies.Placement.Antilocate + description: Apply anti-locate placement policy to group + targets: [ AnitAffinityServerGroup ] + + - AffinityPolicy: + type: tosca.policies.Placement.Colocate + description: Apply anti-locate placement policy to group + targets: [ AffinityServerGroup ] # ServerGroupScaling_DM: # added future # members: [ DM, ]# only one, will be error |