aboutsummaryrefslogtreecommitdiffstats
path: root/functest/core/tenantnetwork.py
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2018-06-26 08:23:25 +0200
committerCédric Ollivier <cedric.ollivier@orange.com>2018-06-30 10:02:47 +0200
commit43d6672e637a5b5b68ac4c382140996b4b9b17da (patch)
tree78ec362612ff36d063aecaf955c391fcbe9d804e /functest/core/tenantnetwork.py
parent780ca99c712cf6c94147bfc72095fba61768e74b (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.py24
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(