CORD-2420 Changes for M-CORD 5.0 profile

Change-Id: I80a85e91964fea2cd5673adf5d38f9b1405f5754
diff --git a/xos/synchronizer/model_policies/model_policy_vepcserviceinstance.py b/xos/synchronizer/model_policies/model_policy_vepcserviceinstance.py
index aac6f7c..741d4f0 100644
--- a/xos/synchronizer/model_policies/model_policy_vepcserviceinstance.py
+++ b/xos/synchronizer/model_policies/model_policy_vepcserviceinstance.py
@@ -66,6 +66,12 @@
                 raise Exception('No VMME vendors')
             service_instance.vmme_vendor = vendor
             service_instance.invalidate_cache('vmme_vendor')
+        elif service_instance.leaf_model_name == 'VHSSTenant':
+            vendor = VHSSVendor.objects.first()
+            if not vendor:
+                raise Exception('No VHSS vendors')
+            service_instance.vhss_vendor = vendor
+            service_instance.invalidate_cache('vhss_vendor')
 
 
     def child_service_instance_from_name(self, name):
@@ -190,28 +196,24 @@
     def create_epc_network(self, n):
         network_name = n['name']
         site_name = self.obj.site.login_base
-        slice_name = '%s_%s' % (
-            site_name, network_name.replace('_network', ''))
-
-        slices = Slice.objects.filter(name=slice_name)
-        if not slices:
-            flavor = Flavor.objects.all()[0]
-            image = Image.objects.all()[0]
-            slice = Slice(name=slice_name, default_isolation="vm", network="noauto",
-                          site=self.obj.site, default_flavor=flavor, default_image=image)
-            slice.save()
-        else:
-            slice = slices[0]
 
         nets = Network.objects.filter(name=network_name)
         if not nets:
             template_name = n.get('template', 'public')
-            templates = NetworkTemplate.objects.filter(name=template_name)
-            if not templates:
-                raise Exception('Template %s not found' % template_name)
+            try:
+                template = NetworkTemplate.objects.filter(name=template_name)[0]
+            except:
+                raise Exception('Template %s for network %s not found' % (template_name, network_name))
+
+            slice_name = '%s_%s' % (site_name, n['owner'])
+            try:
+                slice = Slice.objects.filter(name=slice_name)[0]
+            except:
+                raise Exception('Owner slice %s for network %s not found' % (slice_name, network_name))
+
 
             net = Network(name=network_name, subnet=n['subnet'], permit_all_slices=n.get(
-                'permit_all_slices', False), template=templates[0], owner=slice)
+                'permit_all_slices', False), template=template, owner=slice)
             net.save()
         else:
             net = nets[0]
diff --git a/xos/synchronizer/vepc_config.yaml b/xos/synchronizer/vepc_config.yaml
index 5a5fa70..0c01fed 100644
--- a/xos/synchronizer/vepc_config.yaml
+++ b/xos/synchronizer/vepc_config.yaml
@@ -8,30 +8,26 @@
       - name: s1u_network
         subnet: 111.0.0.0/24
         permit_all_slices: True
-        template: s1u_template
+        template: private_template
+        owner: vspgwu
       - name: s11_network
         subnet: 112.0.0.0/24
         permit_all_slices: True
-        template: s11_template
-      - name: nbi_network
-        subnet: 113.0.0.0/24
-        permit_all_slices: True
-        template: nbi_template
-      - name: sbi_network
-        subnet: 114.0.0.0/24
-        permit_all_slices: True
-        template: sbi_template
+        template: private_template
+        owner: vspgwc
       - name: sgi_network
         subnet: 115.0.0.0/24
         permit_all_slices: True
-        template: sgi_template
+        template: private_template
+        owner: vspgwu
       - name: spgw_network
         subnet: 117.0.0.0/24
         permit_all_slices: True
-        template: spgw_template
+        template: private_template
+        owner: vspgwu
     graph:
       - name: VSPGWUTenant
-        networks: 
+        networks:
           - management
           - s1u_network
           - sgi_network
@@ -43,13 +39,13 @@
               - s1u_network
               - sgi_network
       - name: VENBServiceInstance
-        networks: 
+        networks:
           - management
           - s1u_network
           - sgi_network
           - s11_network
       - name: VSPGWCTenant
-        networks: 
+        networks:
           - management
           - s11_network
           - spgw_network
@@ -58,36 +54,51 @@
             networks:
               - s11_network
           - name: VSPGWUTenant
-            networks: 
+            networks:
               - spgw_network
   - name: mcord_5
     networks:
       - name: flat_network_s1u
         subnet: 119.0.0.0/24
         permit_all_slices: True
-        template: s11_template
+        template: flat_template
+        owner: vspgwu
       - name: flat_network_s1mme
         subnet: 118.0.0.0/24
         permit_all_slices: True
-        template: s11_template
+        template: flat_template
+        owner: vmme
       - name: s11_network
         subnet: 112.0.0.0/24
         permit_all_slices: True
-        template: s11_template
+        template: private_template
+        owner: vspgwc
       - name: sgi_network
         subnet: 115.0.0.0/24
         permit_all_slices: True
-        template: sgi_template
+        owner: vspgwu
+        template: private_template
       - name: spgw_network
         subnet: 117.0.0.0/24
         permit_all_slices: True
-        template: spgw_template
+        template: private_template
+        owner: vspgwu
+      - name: s6a_network
+        subnet: 120.0.0.0/24
+        permit_all_slices: True
+        template: private_template
+        owner: vhss
     graph:
       - name: VMMETenant
         networks:
           - management
           - flat_network_s1mme
           - s11_network
+          - s6a_network
+        links:
+          - name: VHSSTenant
+            networks:
+              - s6a_network
       - name: VSPGWCTenant
         networks:
           - management
@@ -106,6 +117,10 @@
           - flat_network_s1u
           - sgi_network
           - spgw_network
+      - name: VHSSTenant
+        networks:
+          - management
+          - s6a_network
 
 dependency_graph: "/opt/xos/synchronizers/epc-service/model-deps"
 #steps_dir: "/opt/xos/synchronizers/epc-service/steps"