summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/parser_docs/tosca2heat/examples/Simple_RNC.yaml261
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