From ee9244366db64f7bb234e5c5c3776cf58dd26595 Mon Sep 17 00:00:00 2001
From: shangxdy <shang.xiaodong@zte.com.cn>
Date: Wed, 27 Apr 2016 07:43:38 -0400
Subject: Update the vRNC definition against the latest nfv tosca definition

Update the vRNC definition according to the latest vRNC type.
include node_templates, groups, policies and outputs.

JIRA:PARSER-31

Change-Id: Ie69a8e4480188ffad8247d68e5c15085bbb44848
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
---
 .../tosca2heat/examples/Simple_RNC.yaml            | 261 ++++++++++++---------
 1 file changed, 153 insertions(+), 108 deletions(-)

(limited to 'docs/parser_docs')

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
-- 
cgit