From f86d8c78c3f809a28f3e1feda7bbe778fca35d50 Mon Sep 17 00:00:00 2001 From: =?utf8?q?C=C3=A9dric=20Ollivier?= Date: Mon, 3 Sep 2018 08:10:03 +0200 Subject: [PATCH] Create network via admin user MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 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 (cherry picked from commit 92ba2d7f3bbbecebcd4214bc9b8682d2b6ce87e9) --- functest/core/singlevm.py | 1 - functest/core/tenantnetwork.py | 14 ++++++++++---- 2 files changed, 10 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 40b25e726..80087d07a 100644 --- a/functest/core/tenantnetwork.py +++ b/functest/core/tenantnetwork.py @@ -133,10 +133,10 @@ class TenantNetwork1(testcase.TestCase): self.res_dir = os.path.join( getattr(config.CONF, 'dir_results'), self.case_name) try: - self.cloud = shade.OperatorCloud( + self.cloud = self.orig_cloud = shade.OperatorCloud( cloud_config=os_client_config.get_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: @@ -198,9 +198,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) -- 2.16.6