connect vBBU, vMME,vHSS, vSGW, vPGWC slice to its service

Change-Id: I2ed2ef6a5d838b57e845941f292cc78b1c8d3a06
diff --git a/profile_manifests/mcord.yml b/profile_manifests/mcord.yml
index 85fcbe6..368b02e 100644
--- a/profile_manifests/mcord.yml
+++ b/profile_manifests/mcord.yml
@@ -21,13 +21,10 @@
   - vtn-service.yaml
   - fabric-service.yaml
   - management-net.yaml
-  - mcord-services.yaml  # should unify this with services.yaml.j2 eventually
   - shared-net.yaml
   - wan-net.yaml
   - vsg-net.yaml
-# - public-net.yaml
-# - volt-devices.yaml
-# - vrouter.yaml
+  - mcord-services.yaml
 
 xos_other_templates:
   - fabric-network-cfg.json
diff --git a/roles/cord-profile/templates/mcord-services.yaml.j2 b/roles/cord-profile/templates/mcord-services.yaml.j2
index e751169..6a3b086 100644
--- a/roles/cord-profile/templates/mcord-services.yaml.j2
+++ b/roles/cord-profile/templates/mcord-services.yaml.j2
@@ -16,10 +16,21 @@
 # site, image, fully created in deployment.yaml
     {{ site_name }}:
       type: tosca.nodes.Site
+    m1.small:
+      type: tosca.nodes.Flavor
+    m1.large:
+      type: tosca.nodes.Flavor
+    m1.medium:
+      type: tosca.nodes.Flavor
+    m1.xlarge:
+      type: tosca.nodes.Flavor
 
+    #image#trusty-server-multi-nic:
+    #  type: tosca.nodes.Image
     image#vsg-1.1:
       type: tosca.nodes.Image
 
+
 # management networks, fully created in management-net.yaml
     management:
       type: tosca.nodes.network.Network.XOS
@@ -37,6 +48,28 @@
         no-update: true
 {% endif %}
 
+# shared_network is for connectivity between VMs, fully created in shared-net.yaml
+    shared_network:
+      type: tosca.nodes.network.Network.XOS
+      properties:
+        no-create: true
+        no-delete: true
+        no-update: true
+# wan_network for vPGWD and its upstream connectivity, fully created in wan-net.yaml
+    wan_network:
+      type: tosca.nodes.network.Network.XOS
+      properties:
+        no-create: true
+        no-delete: true
+        no-update: true
+# VLAN networks for RRH and vBBU, fully created in vsg-net.yaml
+    vsg_network:
+      type: tosca.nodes.network.Network.XOS
+      properties:
+        no-create: true
+        no-delete: true
+        no-update: true
+
 # ONOS_CORD, fully created in vtn.yaml
     service#ONOS_CORD:
       type: tosca.nodes.ONOSService
@@ -53,7 +86,7 @@
         no-create: true
         no-update: true
 
-# CORD Services, add later
+# CORD Services
     service#vmme:
       type: tosca.nodes.VMMEService
       properties:
@@ -83,3 +116,140 @@
       properties:
           view_url: /admin/vhss/vhssservice/$id$/
           kind: vEPC
+
+# CORD Slices
+    mysite_vBBU_slice:
+      description: vBBU Service Slice
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+          - vBBU:
+              node: service#vbbu
+              relationship: tosca.relationships.MemberOfService
+          #- default_image:
+          #    node: trusty-server-multi-nic
+          #    relationship: tosca.relationships.DefaultImage
+          - default_flavor:
+              node: m1.xlarge
+              relationship: tosca.relationships.DefaultFlavor
+          - connection_to_management:
+              node: management
+              relationship: tosca.relationships.ConnectsToNetwork
+          - connection_to_shared_network:
+              node: shared_network
+              relationship: tosca.relationships.ConnectsToNetwork
+
+          # TODO: uncomment this on full pod
+          #- connection_to_management_host:
+          #    node: management_host
+          #    relationship: tosca.relationships.ConnectsToNetwork
+
+    mysite_vMME_slice:
+      description: vMME Service Slice
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+          - vMME:
+              node: service#vmme
+              relationship: tosca.relationships.MemberOfService
+          #- default_image:
+          #    node: trusty-server-multi-nic
+          #    relationship: tosca.relationships.DefaultImage
+          - default_flavor:
+              node: m1.small
+              relationship: tosca.relationships.DefaultFlavor
+          - connection_to_management:
+              node: management
+              relationship: tosca.relationships.ConnectsToNetwork
+          - connection_to_shared_network:
+              node: shared_network
+              relationship: tosca.relationships.ConnectsToNetwork
+
+    mysite_vHSS_slice:
+      description: vHSS Service Slice
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+          - vHSS:
+              node: service#vhss
+              relationship: tosca.relationships.MemberOfService
+          #- default_image:
+          #    node: trusty-server-multi-nic
+          #    relationship: tosca.relationships.DefaultImage
+          - default_flavor:
+              node: m1.small
+              relationship: tosca.relationships.DefaultFlavor
+          - connection_to_management:
+              node: management
+              relationship: tosca.relationships.ConnectsToNetwork
+          - connection_to_shared_network:
+              node: shared_network
+              relationship: tosca.relationships.ConnectsToNetwork
+          - connection_to_wan_network:
+              node: wan_network
+              relationship: tosca.relationships.ConnectsToNetwork
+
+    mysite_vSGW_slice:
+      description: vSGW Service Slice
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+          - vSGW:
+              node: service#vsgw
+              relationship: tosca.relationships.MemberOfService
+          #- default_image:
+          #    node: trusty-server-multi-nic
+          #    relationship: tosca.relationships.DefaultImage
+          - default_flavor:
+              node: m1.small
+              relationship: tosca.relationships.DefaultFlavor
+          - connection_to_management:
+              node: management
+              relationship: tosca.relationships.ConnectsToNetwork
+          - connection_to_shared_network:
+              node: shared_network
+              relationship: tosca.relationships.ConnectsToNetwork
+
+    mysite_vPGWC_slice:
+      description: vPGWC Service Slice
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+          - vPGWC:
+              node: service#vpgwc
+              relationship: tosca.relationships.MemberOfService
+          #- default_image:
+          #    node: trusty-server-multi-nic
+          #    relationship: tosca.relationships.DefaultImage
+          - default_flavor:
+              node: m1.small
+              relationship: tosca.relationships.DefaultFlavor
+          - connection_to_management:
+              node: management
+              relationship: tosca.relationships.ConnectsToNetwork
+          - connection_to_shared_network:
+              node: shared_network
+              relationship: tosca.relationships.ConnectsToNetwork
+          - connection_to_wan_network:
+              node: wan_network
+              relationship: tosca.relationships.ConnectsToNetwork
diff --git a/roles/cord-profile/templates/vsg-net.yaml.j2 b/roles/cord-profile/templates/vsg-net.yaml.j2
index e86078d..bb5e546 100644
--- a/roles/cord-profile/templates/vsg-net.yaml.j2
+++ b/roles/cord-profile/templates/vsg-net.yaml.j2
@@ -20,7 +20,7 @@
           translation: none
           vtn_kind: VSG
 
-    {{ site_name }}_vsg-access:
+    vsg_network:
       type: tosca.nodes.network.Network
       properties:
           ip_version: 4