X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=functest%2Fcore%2Ftenantnetwork.py;h=f8e4dddc7d1ca7bd6b80b4253c46b6134b9eb5b0;hb=61138bfec980625bec6c219b9e27685c281e5965;hp=a7b4e9ccdeb3b1afe04d198d368f1d20741b903a;hpb=cf052c809b027d6167c93399715bcd330cc0782c;p=functest.git diff --git a/functest/core/tenantnetwork.py b/functest/core/tenantnetwork.py index a7b4e9ccd..f8e4dddc7 100644 --- a/functest/core/tenantnetwork.py +++ b/functest/core/tenantnetwork.py @@ -20,17 +20,17 @@ This classes could be reused by more complexed scenarios (Single VM) import logging import os -import random -import string import time import uuid import os_client_config import shade +from tempest.lib.common.utils import data_utils from xtesting.core import testcase from functest.utils import config from functest.utils import env +from functest.utils import functest_utils class NewProject(): @@ -55,9 +55,7 @@ class NewProject(): """Create projects/users""" assert self.orig_cloud assert self.case_name - self.password = ''.join(random.choice( - string.ascii_letters + string.digits + - '!()*+,-.<=>?@[]^_{|}~') for _ in range(30)) + self.password = data_utils.rand_password().replace('%', '!') self.__logger.debug("password: %s", self.password) self.domain = self.orig_cloud.get_domain( name_or_id=self.orig_cloud.auth.get( @@ -148,27 +146,28 @@ class TenantNetwork1(testcase.TestCase): __logger = logging.getLogger(__name__) cidr = '192.168.120.0/24' shared_network = False - allow_no_fip = False def __init__(self, **kwargs): if "case_name" not in kwargs: kwargs["case_name"] = 'tenantnetwork1' - super(TenantNetwork1, self).__init__(**kwargs) - self.res_dir = os.path.join( - getattr(config.CONF, 'dir_results'), self.case_name) + super().__init__(**kwargs) + self.dir_results = os.path.join(getattr(config.CONF, 'dir_results')) + self.res_dir = os.path.join(self.dir_results, self.case_name) + self.output_log_name = 'functest.log' + self.output_debug_log_name = 'functest.debug.log' + self.ext_net = None try: cloud_config = os_client_config.get_config() self.cloud = self.orig_cloud = shade.OpenStackCloud( cloud_config=cloud_config) except Exception: # pylint: disable=broad-except self.cloud = self.orig_cloud = None - self.ext_net = None self.__logger.exception("Cannot connect to Cloud") - try: - self.ext_net = self.get_external_network(self.cloud) - except Exception: # pylint: disable=broad-except - self.ext_net = None - self.__logger.exception("Cannot get the external network") + if env.get('NO_TENANT_NETWORK').lower() != 'true': + try: + 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()) self.network = None self.subnet = None @@ -205,7 +204,7 @@ class TenantNetwork1(testcase.TestCase): @staticmethod def get_public_auth_url(cloud): """Get Keystone public endpoint""" - keystone_id = cloud.search_services('keystone')[0].id + keystone_id = functest_utils.search_services(cloud, 'keystone')[0].id endpoint = cloud.search_endpoints( filters={'interface': 'public', 'service_id': keystone_id})[0].url @@ -220,7 +219,7 @@ class TenantNetwork1(testcase.TestCase): Raises: expection on error """ assert self.cloud - if not self.allow_no_fip: + if env.get('NO_TENANT_NETWORK').lower() != 'true': assert self.ext_net provider = {} if hasattr(config.CONF, '{}_network_type'.format(self.case_name)): @@ -265,7 +264,8 @@ class TenantNetwork1(testcase.TestCase): try: assert self.cloud self.start_time = time.time() - self.create_network_resources() + if env.get('NO_TENANT_NETWORK').lower() != 'true': + self.create_network_resources() self.result = 100 status = testcase.TestCase.EX_OK except Exception: # pylint: disable=broad-except @@ -306,7 +306,7 @@ class TenantNetwork2(TenantNetwork1): def __init__(self, **kwargs): if "case_name" not in kwargs: kwargs["case_name"] = 'tenantnetwork2' - super(TenantNetwork2, self).__init__(**kwargs) + super().__init__(**kwargs) try: assert self.cloud self.project = NewProject( @@ -320,7 +320,7 @@ class TenantNetwork2(TenantNetwork1): def clean(self): try: - super(TenantNetwork2, self).clean() + super().clean() assert self.project self.project.clean() except Exception: # pylint: disable=broad-except