diff options
author | Cédric Ollivier <cedric.ollivier@orange.com> | 2018-06-26 08:23:25 +0200 |
---|---|---|
committer | Cédric Ollivier <cedric.ollivier@orange.com> | 2018-06-30 10:02:47 +0200 |
commit | 43d6672e637a5b5b68ac4c382140996b4b9b17da (patch) | |
tree | 78ec362612ff36d063aecaf955c391fcbe9d804e /functest/core/tenantnetwork.py | |
parent | 780ca99c712cf6c94147bfc72095fba61768e74b (diff) |
Inherit rally from VmReady1
It also fixes clean().
Change-Id: I42d1305d5cdb5a717cfa7fce26798ac7102310f7
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Diffstat (limited to 'functest/core/tenantnetwork.py')
-rw-r--r-- | functest/core/tenantnetwork.py | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/functest/core/tenantnetwork.py b/functest/core/tenantnetwork.py index bf14f4126..3a212d871 100644 --- a/functest/core/tenantnetwork.py +++ b/functest/core/tenantnetwork.py @@ -28,7 +28,6 @@ from xtesting.core import testcase from functest.utils import config from functest.utils import env -from functest.utils import functest_utils class NewProject(object): @@ -105,6 +104,7 @@ class TenantNetwork1(testcase.TestCase): __logger = logging.getLogger(__name__) cidr = '192.168.0.0/24' + shared_network = False def __init__(self, **kwargs): if "case_name" not in kwargs: @@ -120,7 +120,7 @@ class TenantNetwork1(testcase.TestCase): self.ext_net = None self.__logger.exception("Cannot connect to Cloud") try: - self.ext_net = functest_utils.get_external_network(self.cloud) + self.ext_net = self.get_external_network(self.cloud) except Exception: # pylint: disable=broad-except self.__logger.exception("Cannot get the external network") self.guid = str(uuid.uuid4()) @@ -128,6 +128,23 @@ class TenantNetwork1(testcase.TestCase): self.subnet = None self.router = None + @staticmethod + def get_external_network(cloud): + """ + Returns the configured external network name or + the first retrieved external network name + """ + assert cloud + if env.get("EXTERNAL_NETWORK"): + network = cloud.get_network( + env.get("EXTERNAL_NETWORK"), {"router:external": True}) + if network: + return network + networks = cloud.list_networks({"router:external": True}) + if networks: + return networks[0] + return None + def _create_network_ressources(self): assert self.cloud assert self.ext_net @@ -143,7 +160,8 @@ class TenantNetwork1(testcase.TestCase): config.CONF, '{}_segmentation_id'.format(self.case_name)) self.network = self.cloud.create_network( '{}-net_{}'.format(self.case_name, self.guid), - provider=provider) + provider=provider, + shared=self.shared_network) self.__logger.debug("network: %s", self.network) self.subnet = self.cloud.create_subnet( |