move to new tosca engine

Change-Id: Id5bb3d6f7916a77c001a21de231682e57d1dca1f
diff --git a/profile_manifests/mcord.yml b/profile_manifests/mcord.yml
index 1a0ee6c..a92e700 100644
--- a/profile_manifests/mcord.yml
+++ b/profile_manifests/mcord.yml
@@ -37,18 +37,19 @@
   - vsg-net.yaml
   - flat-net.yaml
   - s1u-net.yaml
-  - s11-net.yaml
   - s1mme-net.yaml
   - nbi-net.yaml
   - sbi-net.yaml
   - sgi-net.yaml
-  - mcord-services.yml
+#  - mcord-services.yml
   - xos-gui-extensions.yml
   - internet-emulator-service.yaml
 
 xos_new_tosca_config_templates:
   - mcord-subscriber.yml
-  - vmme-service.yaml
+  - s11-net.yaml
+  - mcord-services.yml
+
 
 xos_other_templates:
   - fabric-network-cfg.json
diff --git a/roles/cord-profile/templates/mcord-services.yml.j2 b/roles/cord-profile/templates/mcord-services.yml.j2
index 80ea69c..2935f82 100644
--- a/roles/cord-profile/templates/mcord-services.yml.j2
+++ b/roles/cord-profile/templates/mcord-services.yml.j2
@@ -22,7 +22,16 @@
 
 imports:
    - custom_types/xos.yaml
-   - custom_types/vmme.yaml
+   - custom_types/slice.yaml
+   - custom_types/site.yaml
+   - custom_types/image.yaml
+   - custom_types/flavor.yaml
+   - custom_types/network.yaml
+   - custom_types/onosservice.yaml
+   - custom_types/networkslice.yaml
+   - custom_types/vmmeservice.yaml
+   - custom_types/vmmevendor.yaml
+   - custom_types/vmmetenant.yaml
 
 topology_template:
   node_templates:
@@ -30,135 +39,167 @@
 # site, image, fully created in deployment.yaml
     {{ site_name }}:
       type: tosca.nodes.Site
+      properties:
+        must-exist: true
+        name: {{ site_name }}
 
     m1.small:
       type: tosca.nodes.Flavor
+      properties:
+        name: m1.small
+        must-exist: true
     m1.large:
       type: tosca.nodes.Flavor
+      properties:
+        name: m1.large
+        must-exist: true
     m1.medium:
       type: tosca.nodes.Flavor
+      properties:
+        name: m1.medium
+        must-exist: true
     m1.xlarge:
       type: tosca.nodes.Flavor
+      properties:
+        name: m1.xlarge
+        must-exist: true
 
     trusty-server-multi-nic:
       type: tosca.nodes.Image
+      properties:
+        name: trusty-server-multi-nic
+        must-exist: true
 
 # management networks, fully created in management-net.yaml
     management:
-      type: tosca.nodes.network.Network.XOS
+      type: tosca.nodes.Network
       properties:
-        no-create: true
-        no-delete: true
-        no-update: true
+        must-exist: true
+        name: management
 
 {% if use_management_hosts %}
     management_hosts:
-      type: tosca.nodes.network.Network.XOS
+      type: tosca.nodes.Network
       properties:
-        no-create: true
-        no-delete: true
-        no-update: true
+        must-exist: true
+        name: management
 {% endif %}
 
 # s1u_network is for connectivity between VMs, fully created in s1u-net.yaml
     s1u_network:
-      type: tosca.nodes.network.Network.XOS
+      type: tosca.nodes.Network
       properties:
-        no-create: true
-        no-delete: true
-        no-update: true
-
+        must-exist: true
+        name: s1u_network
 # s11_network is for connectivity between VMs, fully created in s11-net.yaml
     s11_network:
-      type: tosca.nodes.network.Network.XOS
+      type: tosca.nodes.Network
       properties:
-        no-create: true
-        no-delete: true
-        no-update: true
-
-# s1mme_network is for connectivity between VMs, fully created in s1mme-net.yaml
-    s1mme_network:
-      type: tosca.nodes.network.Network.XOS
-      properties:
-        no-create: true
-        no-delete: true
-        no-update: true
-
+        must-exist: true
+        name: s11_network
 # nbi_network is for connectivity between VMs, fully created in nbi-net.yaml
     nbi_network:
-      type: tosca.nodes.network.Network.XOS
+      type: tosca.nodes.Network
       properties:
-        no-create: true
-        no-delete: true
-        no-update: true
-
+        must-exist: true
+        name: nbi_network
 # sbi_network is for connectivity between VMs, fully created in sbi-net.yaml
     sbi_network:
-      type: tosca.nodes.network.Network.XOS
+      type: tosca.nodes.Network
       properties:
-        no-create: true
-        no-delete: true
-        no-update: true
-
+        must-exist: true
+        name: sbi_network
 # sgi_network is for connectivity between VMs, fully created in sgi-net.yaml
     sgi_network:
-      type: tosca.nodes.network.Network.XOS
+      type: tosca.nodes.Network
       properties:
-        no-create: true
-        no-delete: true
-        no-update: true
+        must-exist: true
+        name: sgi_network
+
+
 
 # ONOS_CORD, fully created in vtn.yaml
     service#ONOS_CORD:
       type: tosca.nodes.ONOSService
       properties:
-        no-delete: true
-        no-create: true
-        no-update: true
+        must-exist: true
+        name: ONOS_CORD
 
 # ONOS_Fabric, fully created in fabric.yaml
     service#ONOS_Fabric:
       type: tosca.nodes.ONOSService
       properties:
-        no-delete: true
-        no-create: true
-        no-update: true
+        must-exist: true
+        name: ONOS_Fabric
 
 # CORD Services
     service#vmme:
       type: tosca.nodes.VMMEService
       properties:
+          name: mme
           kind: vEPC
-          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
+          public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
           private_key_fn: /opt/xos/services/vmme/keys/mcord_rsa
       artifacts:
           pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
+    intel_mme:
+      type: tosca.nodes.VMMEVendor
+      properties:
+        name: intel_mme
+      requirements:
+        - image:
+            node: trusty-server-multi-nic
+            relationship: tosca.relationships.BelongsToOne
+        - flavor:
+            node: m1.small
+            relationship: tosca.relationships.BelongsToOne
+
+    vmme_tenant1:
+      type: tosca.nodes.VMMETenant
+      properties:
+        name: vmme_tenant1
+      requirements:
+        - vmme_vendor:
+            node: intel_mme
+            relationship: tosca.relationships.BelongsToOne
+        - owner:
+            node: service#vmme
+            relationship: tosca.relationships.BelongsToOne
 
 # CORD Slices
     {{ site_name }}_vmme:
       description: vMME Service Slice
       type: tosca.nodes.Slice
       properties:
-          network: noauto
+          name: {{ site_name }}_vmme
+          default_isolation: vm
       requirements:
           - site:
               node: mysite
-              relationship: tosca.relationships.MemberOfSite
-          - vmme_service:
+              relationship: tosca.relationships.BelongsToOne
+          - service:
               node: service#vmme
-              relationship: tosca.relationships.MemberOfService
+              relationship: tosca.relationships.BelongsToOne
           - default_image:
               node: trusty-server-multi-nic
-              relationship: tosca.relationships.DefaultImage
+              relationship: tosca.relationships.BelongsToOne
           - default_flavor:
               node: m1.small
-              relationship: tosca.relationships.DefaultFlavor
-          - connection_to_management:
-              node: management
-              relationship: tosca.relationships.ConnectsToNetwork
-          - connection_to_s11_network:
-              node: s11_network
-              relationship: tosca.relationships.ConnectsToNetwork
-          - connection_to_s1mme_network:
-              node: s1mme_network
-              relationship: tosca.relationships.ConnectsToNetwork
+              relationship: tosca.relationships.BelongsToOne
+          #- connection_to_management:
+          #    node: management
+          #    relationship: tosca.relationships.BelongsToMany
+          #- connection_to_s11_network:
+          #    node: s11_network
+          #   relationship: tosca.relationships.ConnectsToNetwork
+
+# will enable this part after sapan fix the obj issue
+#    mme_slice_s11_network:
+#      type: tosca.nodes.NetworkSlice
+#      requirements:
+#        - network:
+#            node: s11_network
+#            relationship: tosca.relationships.BelongsToOne
+#        - slice:
+#            node: {{ site_name }}_vmme
+#            relationship: tosca.relationships.BelongsToOne
diff --git a/roles/cord-profile/templates/s11-net.yaml.j2 b/roles/cord-profile/templates/s11-net.yaml.j2
index 3e0ac53..ce5ee43 100644
--- a/roles/cord-profile/templates/s11-net.yaml.j2
+++ b/roles/cord-profile/templates/s11-net.yaml.j2
@@ -2,6 +2,12 @@
 
 imports:
    - custom_types/xos.yaml
+   - custom_types/site.yaml
+   - custom_types/slice.yaml
+   - custom_types/flavor.yaml
+   - custom_types/network.yaml
+   - custom_types/networktemplate.yaml
+
 
 description: network for S11 interface
 
@@ -11,36 +17,49 @@
 # site, fully created in deployment.yaml
     {{ site_name }}:
       type: tosca.nodes.Site
+      properties:
+          name: {{ site_name }}
+
+#    mysite_vMME_slice:
+#      type: tosca.nodes.Slice
+#      properties:
+#          must-exist: true
+#          name: mysite_vMME_slice
 
 # s11 network
     s11_template:
       type: tosca.nodes.NetworkTemplate
       properties:
+          name: s11_template
           visibility: private
           translation: none
           vtn_kind: PRIVATE
 
     s11_network:
-      type: tosca.nodes.network.Network
+      type: tosca.nodes.Network
       properties:
-          ip_version: 4
-          cidr: 112.0.0.0/24
+          name: s11_network
+          subnet: 112.0.0.0/24
       requirements:
-          - network_template:
+          - template:
               node: s11_template
-              relationship: tosca.relationships.UsesNetworkTemplate
+              relationship: tosca.relationships.BelongsToOne
           - owner:
               node: {{ site_name }}_s11
-              relationship: tosca.relationships.MemberOfSlice
+              relationship: tosca.relationships.BelongsToOne
+ #         - slices:
+ #             node: mysite_vMME_slice
+ #             relationship: tosca.relationships.BelongsToMany
+
 
     {{ site_name }}_s11:
       description: This slice exists solely to own the private network
       type: tosca.nodes.Slice
       properties:
-          network: noauto
+          name: {{ site_name }}_s11
+          default_isolation: vm
       requirements:
           - site:
               node: {{ site_name }}
-              relationship: tosca.relationships.MemberOfSite
-
+              relationship: tosca.relationships.BelongsToOne
 
diff --git a/roles/cord-profile/templates/vmme-service.yaml.j2 b/roles/cord-profile/templates/vmme-service.yaml.j2
deleted file mode 100644
index b2ca43f..0000000
--- a/roles/cord-profile/templates/vmme-service.yaml.j2
+++ /dev/null
@@ -1,77 +0,0 @@
-
-{#
-Copyright 2017-present Open Networking Foundation
-
-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.
-#}
-
-
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-description: create VMMEVendor and VMMETenant
-
-imports:
-   - custom_types/xos.yaml
-   - custom_types/flavor.yaml
-   - custom_types/image.yaml
-   - custom_types/vmmeservice.yaml
-   - custom_types/vmmevendor.yaml
-   - custom_types/vmmetenant.yaml
-
-topology_template:
-  node_templates:
-
-    # Created earlier, throws an error without name field
-    m1.small:
-      type: tosca.nodes.Flavor
-      properties:
-        name: m1.small
-        must-exist: true
-
-    # Created earlier, throws an error without name field
-    trusty-server-multi-nic:
-      type: tosca.nodes.Image
-      properties:
-        name: trusty-server-multi-nic
-        must-exist: true
-
-    # Created earlier, throws an error without name field
-    service#vmme:
-      type: tosca.nodes.VMMEService
-      properties:
-        name: vmme
-        must-exist: true
-
-    intel_mme:
-      type: tosca.nodes.VMMEVendor
-      properties:
-        name: intel_mme
-      requirements:
-        - image:
-            node: trusty-server-multi-nic
-            relationship: tosca.relationships.BelongsToOne
-        - flavor:
-            node: m1.small
-            relationship: tosca.relationships.BelongsToOne
-
-    vmme_tenant1:
-      type: tosca.nodes.VMMETenant
-      properties:
-        name: vmme_tenant1
-      requirements:
-        - vmme_vendor:
-            node: intel_mme
-            relationship: tosca.relationships.BelongsToOne
-        - owner:
-            node: service#vmme
-            relationship: tosca.relationships.BelongsToOne