From 92ba2d7f3bbbecebcd4214bc9b8682d2b6ce87e9 Mon Sep 17 00:00:00 2001
From: Cédric Ollivier <cedric.ollivier@orange.com>
Date: Mon, 3 Sep 2018 08:10:03 +0200
Subject: Create network via admin user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It creates the network via admin user as segmentation id may be set.

Change-Id: I853f40e09aee9a658fc2373cd7e8bf00e3c0c3ad
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
---
 functest/core/singlevm.py      |  1 -
 functest/core/tenantnetwork.py | 15 +++++++++++----
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/functest/core/singlevm.py b/functest/core/singlevm.py
index 78f8ab9d0..71ed0690d 100644
--- a/functest/core/singlevm.py
+++ b/functest/core/singlevm.py
@@ -58,7 +58,6 @@ class VmReady1(tenantnetwork.TenantNetwork1):
         if "case_name" not in kwargs:
             kwargs["case_name"] = 'vmready1'
         super(VmReady1, self).__init__(**kwargs)
-        self.orig_cloud = self.cloud
         self.image = None
         self.flavor = None
 
diff --git a/functest/core/tenantnetwork.py b/functest/core/tenantnetwork.py
index a96484f28..9f5913c70 100644
--- a/functest/core/tenantnetwork.py
+++ b/functest/core/tenantnetwork.py
@@ -134,9 +134,10 @@ class TenantNetwork1(testcase.TestCase):
             getattr(config.CONF, 'dir_results'), self.case_name)
         try:
             cloud_config = os_client_config.get_config()
-            self.cloud = shade.OpenStackCloud(cloud_config=cloud_config)
+            self.cloud = self.orig_cloud = shade.OpenStackCloud(
+                cloud_config=cloud_config)
         except Exception:  # pylint: disable=broad-except
-            self.cloud = None
+            self.cloud = self.orig_cloud = None
             self.ext_net = None
             self.__logger.exception("Cannot connect to Cloud")
         try:
@@ -205,9 +206,15 @@ class TenantNetwork1(testcase.TestCase):
         if hasattr(config.CONF, '{}_segmentation_id'.format(self.case_name)):
             provider["segmentation_id"] = getattr(
                 config.CONF, '{}_segmentation_id'.format(self.case_name))
-        self.network = self.cloud.create_network(
+        domain = self.orig_cloud.get_domain(
+            name_or_id=self.orig_cloud.auth.get(
+                "project_domain_name", "Default"))
+        project = self.orig_cloud.get_project(
+            self.cloud.auth['project_name'],
+            domain_id=domain.id)
+        self.network = self.orig_cloud.create_network(
             '{}-net_{}'.format(self.case_name, self.guid),
-            provider=provider,
+            provider=provider, project_id=project.id,
             shared=self.shared_network)
         self.__logger.debug("network: %s", self.network)
 
-- 
cgit