[CORD-1507] Refactor all the networks inside CORD 3.0

Change-Id: Ic93de178b65dce00473b7a953a6808c54559683b
diff --git a/profile_manifests/mcord.yml b/profile_manifests/mcord.yml
index 071561f..c0d9af1 100644
--- a/profile_manifests/mcord.yml
+++ b/profile_manifests/mcord.yml
@@ -21,6 +21,9 @@
   - vtn-service.yaml
   - fabric-service.yaml
   - management-net.yaml
+  - shared-net.yaml
+  - wan-net.yaml
+  - vsg-net.yaml
   - mcord-services.yaml  # should unify this with services.yaml.j2 eventually
 # - public-net.yaml
 # - volt-devices.yaml
@@ -68,20 +71,20 @@
   - name: fabric
     path: orchestration/xos_services/fabric
     synchronizer: true
-#  - name: vBBU
-#    path: orchestration/xos_services/vBBU
+#  - name: vbbu
+#    path: orchestration/xos_services/vbbu
 #    keypair: mcord_rsa
 #    synchronizer: true
-#  - name: vMME
-#    path: orchestration/xos_services/vMME
+#  - name: vmme
+#    path: orchestration/xos_services/vmme
 #    keypair: mcord_rsa
 #    synchronizer: true
-#  - name: vSGW
-#    path: orchestration/xos_services/vSGW
+#  - name: vsgw
+#    path: orchestration/xos_services/vsgw
 #    keypair: mcord_rsa
 #    synchronizer: true
-#  - name: vPGWC
-#    path: orchestration/xos_services/vPGWC
+#  - name: vpgwc
+#    path: orchestration/xos_services/vpgwc
 #    keypair: mcord_rsa
 #    synchronizer: true
 # needed onboarding synchronizer doesn't require service code to be present when started
@@ -93,6 +96,10 @@
     path: orchestration/xos_services/monitoring
     keypair: monitoringservice_rsa
     synchronizer: false
+#  - name: vhss
+#    path: orchestration/xos_services/vhss
+#    keypaird: mcord_rsa
+#    synchronizer: true
 
 xos_service_sshkeys:
   - name: onos_rsa
diff --git a/roles/cord-profile/templates/shared-net.yaml.j2 b/roles/cord-profile/templates/shared-net.yaml.j2
new file mode 100644
index 0000000..f54ab9d
--- /dev/null
+++ b/roles/cord-profile/templates/shared-net.yaml.j2
@@ -0,0 +1,46 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+   - custom_types/xos.yaml
+
+description: shared network config, generated by platform-install
+
+topology_template:
+  node_templates:
+
+# site, fully created in deployment.yaml
+    {{ site_name }}:
+      type: tosca.nodes.Site
+
+# shared network
+    shared_template:
+      type: tosca.nodes.NetworkTemplate
+      properties:
+          visibility: private
+          translation: none
+          vtn_kind: PRIVATE
+
+    shared_network:
+      type: tosca.nodes.network.Network
+      properties:
+          ip_version: 4
+          cidr: 100.0.0.0/24
+      requirements:
+          - network_template:
+              node: shared_template
+              relationship: tosca.relationships.UsesNetworkTemplate
+          - owner:
+              node: {{ site_name }}_shared
+              relationship: tosca.relationships.MemberOfSlice
+
+    {{ site_name }}_shared:
+      description: This slice exists solely to own the private network
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: {{ site_name }}
+              relationship: tosca.relationships.MemberOfSite
+
+
diff --git a/roles/cord-profile/templates/vsg-net.yaml.j2 b/roles/cord-profile/templates/vsg-net.yaml.j2
new file mode 100644
index 0000000..e86078d
--- /dev/null
+++ b/roles/cord-profile/templates/vsg-net.yaml.j2
@@ -0,0 +1,46 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+   - custom_types/xos.yaml
+
+description: vsg network config, generated by platform-install
+
+topology_template:
+  node_templates:
+
+# site, fully created in deployment.yaml
+    {{ site_name }}:
+      type: tosca.nodes.Site
+
+# vsg network
+    vsg_template:
+      type: tosca.nodes.NetworkTemplate
+      properties:
+          visibility: private
+          translation: none
+          vtn_kind: VSG
+
+    {{ site_name }}_vsg-access:
+      type: tosca.nodes.network.Network
+      properties:
+          ip_version: 4
+          cidr: 101.0.0.0/24
+      requirements:
+          - network_template:
+              node: vsg_template
+              relationship: tosca.relationships.UsesNetworkTemplate
+          - owner:
+              node: {{ site_name }}_vsg
+              relationship: tosca.relationships.MemberOfSlice
+
+    {{ site_name }}_vsg:
+      description: This slice exists solely to own the private network
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: {{ site_name }}
+              relationship: tosca.relationships.MemberOfSite
+
+
diff --git a/roles/cord-profile/templates/wan-net.yaml.j2 b/roles/cord-profile/templates/wan-net.yaml.j2
new file mode 100644
index 0000000..4b9bb20
--- /dev/null
+++ b/roles/cord-profile/templates/wan-net.yaml.j2
@@ -0,0 +1,46 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+   - custom_types/xos.yaml
+
+description: wan network config, generated by platform-install
+
+topology_template:
+  node_templates:
+
+# site, fully created in deployment.yaml
+    {{ site_name }}:
+      type: tosca.nodes.Site
+
+# wan network
+    wan_template:
+      type: tosca.nodes.NetworkTemplate
+      properties:
+          visibility: private
+          translation: none
+          vtn_kind: PRIVATE
+
+    wan_network:
+      type: tosca.nodes.network.Network
+      properties:
+          ip_version: 4
+          cidr: 102.0.0.0/24
+      requirements:
+          - network_template:
+              node: wan_template
+              relationship: tosca.relationships.UsesNetworkTemplate
+          - owner:
+              node: {{ site_name }}_wan
+              relationship: tosca.relationships.MemberOfSlice
+
+    {{ site_name }}_wan:
+      description: This slice exists solely to own the private network
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: {{ site_name }}
+              relationship: tosca.relationships.MemberOfSite
+
+