From 9f7c63ffaf64b3ca81ae86a0b3477e5007916fcd Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Thu, 22 Feb 2018 17:43:35 +0100 Subject: Switch from CONST to CONF MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It also removes constants.CONST and env.Environment which are now useless. Depends-On: I764a0a2a24447c941d1e726f3116593b29dd1c1e Depends-On: I6cfa832466dcefd737314633d807512e46267a69 Change-Id: Ife41c59d9f2e6ec4e49df38af962039f99554bc5 Signed-off-by: Cédric Ollivier --- functest/api/resources/v1/tasks.py | 6 +- functest/api/resources/v1/testcases.py | 12 +- functest/opnfv_tests/openstack/rally/rally.py | 42 +++---- .../openstack/snaps/snaps_test_runner.py | 15 +-- .../opnfv_tests/openstack/snaps/snaps_utils.py | 5 +- .../opnfv_tests/openstack/tempest/conf_utils.py | 128 +++++++++++---------- functest/opnfv_tests/openstack/tempest/tempest.py | 50 ++++---- functest/opnfv_tests/openstack/vping/vping_base.py | 49 ++++---- functest/opnfv_tests/openstack/vping/vping_ssh.py | 12 +- functest/opnfv_tests/sdn/odl/odl.py | 6 +- functest/opnfv_tests/vnf/epc/juju_epc.py | 14 +-- .../opnfv_tests/vnf/ims/clearwater_ims_base.py | 8 +- functest/opnfv_tests/vnf/ims/cloudify_ims.py | 4 +- functest/opnfv_tests/vnf/ims/cloudify_ims_perf.py | 4 +- .../opnfv_tests/vnf/ims/orchestra_clearwaterims.py | 8 +- functest/opnfv_tests/vnf/ims/orchestra_openims.py | 17 ++- .../opnfv_tests/vnf/router/cloudify_vrouter.py | 4 +- functest/opnfv_tests/vnf/router/utilvnf.py | 6 +- functest/opnfv_tests/vnf/router/vrouter_base.py | 6 +- .../unit/openstack/tempest/test_conf_utils.py | 32 +++--- functest/tests/unit/utils/test_env.py | 39 ------- functest/utils/constants.py | 20 ---- functest/utils/env.py | 13 --- functest/utils/functest_utils.py | 4 +- 24 files changed, 224 insertions(+), 280 deletions(-) (limited to 'functest') diff --git a/functest/api/resources/v1/tasks.py b/functest/api/resources/v1/tasks.py index 5af8a678c..30501adf7 100644 --- a/functest/api/resources/v1/tasks.py +++ b/functest/api/resources/v1/tasks.py @@ -15,16 +15,16 @@ import errno import json import logging import os -import pkg_resources import uuid from flask import jsonify from flasgger.utils import swag_from +import pkg_resources from functest.api.base import ApiResource from functest.api.common import api_utils from functest.api.database.v1.handlers import TasksHandler -from functest.utils.constants import CONST +from functest.utils import config LOGGER = logging.getLogger(__name__) @@ -85,7 +85,7 @@ class V1TaskLog(ApiResource): except ValueError: return api_utils.result_handler(status=1, data='No such task id') - task_log_dir = getattr(CONST, 'dir_results') + task_log_dir = getattr(config.CONF, 'dir_results') # pylint: disable=maybe-no-member index = int(self._get_args().get('index', 0)) diff --git a/functest/api/resources/v1/testcases.py b/functest/api/resources/v1/testcases.py index 064661c8b..2dbf97e4d 100644 --- a/functest/api/resources/v1/testcases.py +++ b/functest/api/resources/v1/testcases.py @@ -26,7 +26,7 @@ from functest.api.base import ApiResource from functest.api.common import api_utils, thread from functest.cli.commands.cli_testcase import Testcase from functest.api.database.v1.handlers import TasksHandler -from functest.utils.constants import CONST +from functest.utils import config from functest.utils import env import functest.utils.functest_utils as ft_utils @@ -144,14 +144,14 @@ class V1Testcase(ApiResource): def _update_logging_ini(self, task_id): # pylint: disable=no-self-use """ Update the log file for each task""" - config = ConfigParser.RawConfigParser() - config.read( + rconfig = ConfigParser.RawConfigParser() + rconfig.read( pkg_resources.resource_filename('functest', 'ci/logging.ini')) - log_path = os.path.join(getattr(CONST, 'dir_results'), + log_path = os.path.join(getattr(config.CONF, 'dir_results'), '{}.log'.format(task_id)) - config.set('handler_file', 'args', '("{}",)'.format(log_path)) + rconfig.set('handler_file', 'args', '("{}",)'.format(log_path)) with open( pkg_resources.resource_filename( 'functest', 'ci/logging.ini'), 'wb') as configfile: - config.write(configfile) + rconfig.write(configfile) diff --git a/functest/opnfv_tests/openstack/rally/rally.py b/functest/opnfv_tests/openstack/rally/rally.py index add0f2437..b2213c941 100644 --- a/functest/opnfv_tests/openstack/rally/rally.py +++ b/functest/opnfv_tests/openstack/rally/rally.py @@ -28,7 +28,7 @@ from functest.core import testcase from functest.energy import energy from functest.opnfv_tests.openstack.snaps import snaps_utils from functest.opnfv_tests.openstack.tempest import conf_utils -from functest.utils.constants import CONST +from functest.utils import config from functest.utils import env from snaps.config.flavor import FlavorConfig @@ -48,19 +48,19 @@ class RallyBase(testcase.TestCase): # pylint: disable=too-many-instance-attributes TESTS = ['authenticate', 'glance', 'ceilometer', 'cinder', 'heat', 'keystone', 'neutron', 'nova', 'quotas', 'vm', 'all'] - GLANCE_IMAGE_NAME = getattr(CONST, 'openstack_image_name') - GLANCE_IMAGE_FILENAME = getattr(CONST, 'openstack_image_file_name') - GLANCE_IMAGE_PATH = os.path.join(getattr(CONST, 'dir_functest_images'), - GLANCE_IMAGE_FILENAME) - GLANCE_IMAGE_FORMAT = getattr(CONST, 'openstack_image_disk_format') - GLANCE_IMAGE_USERNAME = getattr(CONST, 'openstack_image_username') - GLANCE_IMAGE_EXTRA_PROPERTIES = getattr(CONST, - 'openstack_extra_properties', {}) - FLAVOR_NAME = getattr(CONST, 'rally_flavor_name') - FLAVOR_ALT_NAME = getattr(CONST, 'rally_flavor_alt_name') + GLANCE_IMAGE_NAME = getattr(config.CONF, 'openstack_image_name') + GLANCE_IMAGE_FILENAME = getattr(config.CONF, 'openstack_image_file_name') + GLANCE_IMAGE_PATH = os.path.join(getattr( + config.CONF, 'dir_functest_images'), GLANCE_IMAGE_FILENAME) + GLANCE_IMAGE_FORMAT = getattr(config.CONF, 'openstack_image_disk_format') + GLANCE_IMAGE_USERNAME = getattr(config.CONF, 'openstack_image_username') + GLANCE_IMAGE_EXTRA_PROPERTIES = getattr( + config.CONF, 'openstack_extra_properties', {}) + FLAVOR_NAME = getattr(config.CONF, 'rally_flavor_name') + FLAVOR_ALT_NAME = getattr(config.CONF, 'rally_flavor_alt_name') FLAVOR_RAM = 512 FLAVOR_RAM_ALT = 1024 - FLAVOR_EXTRA_SPECS = getattr(CONST, 'flavor_extra_specs', None) + FLAVOR_EXTRA_SPECS = getattr(config.CONF, 'flavor_extra_specs', None) if FLAVOR_EXTRA_SPECS: FLAVOR_RAM = 1024 FLAVOR_RAM_ALT = 2048 @@ -77,14 +77,14 @@ class RallyBase(testcase.TestCase): TENANTS_AMOUNT = 3 ITERATIONS_AMOUNT = 10 CONCURRENCY = 4 - RESULTS_DIR = os.path.join(getattr(CONST, 'dir_results'), 'rally') + RESULTS_DIR = os.path.join(getattr(config.CONF, 'dir_results'), 'rally') BLACKLIST_FILE = os.path.join(RALLY_DIR, "blacklist.txt") TEMP_DIR = os.path.join(RALLY_DIR, "var") - RALLY_PRIVATE_NET_NAME = getattr(CONST, 'rally_network_name') - RALLY_PRIVATE_SUBNET_NAME = getattr(CONST, 'rally_subnet_name') - RALLY_PRIVATE_SUBNET_CIDR = getattr(CONST, 'rally_subnet_cidr') - RALLY_ROUTER_NAME = getattr(CONST, 'rally_router_name') + RALLY_PRIVATE_NET_NAME = getattr(config.CONF, 'rally_network_name') + RALLY_PRIVATE_SUBNET_NAME = getattr(config.CONF, 'rally_subnet_name') + RALLY_PRIVATE_SUBNET_CIDR = getattr(config.CONF, 'rally_subnet_cidr') + RALLY_ROUTER_NAME = getattr(config.CONF, 'rally_router_name') def __init__(self, **kwargs): """Initialize RallyBase object.""" @@ -451,9 +451,11 @@ class RallyBase(testcase.TestCase): LOGGER.debug("Creating network '%s'...", network_name) - rally_network_type = getattr(CONST, 'rally_network_type', None) - rally_physical_network = getattr(CONST, 'rally_physical_network', None) - rally_segmentation_id = getattr(CONST, 'rally_segmentation_id', None) + rally_network_type = getattr(config.CONF, 'rally_network_type', None) + rally_physical_network = getattr( + config.CONF, 'rally_physical_network', None) + rally_segmentation_id = getattr( + config.CONF, 'rally_segmentation_id', None) network_creator = deploy_utils.create_network( self.os_creds, NetworkConfig( diff --git a/functest/opnfv_tests/openstack/snaps/snaps_test_runner.py b/functest/opnfv_tests/openstack/snaps/snaps_test_runner.py index 34d56f70a..4de443718 100644 --- a/functest/opnfv_tests/openstack/snaps/snaps_test_runner.py +++ b/functest/opnfv_tests/openstack/snaps/snaps_test_runner.py @@ -14,7 +14,7 @@ import logging from functest.core import unit from functest.opnfv_tests.openstack.snaps import snaps_utils -from functest.utils.constants import CONST +from functest.utils import config from functest.utils import env from snaps.openstack import create_flavor @@ -37,13 +37,14 @@ class SnapsTestRunner(unit.Suite): self.ext_net_name = snaps_utils.get_ext_net_name(self.os_creds) self.netconf_override = None - if hasattr(CONST, 'snaps_network_config'): - self.netconf_override = getattr(CONST, 'snaps_network_config') + if hasattr(config.CONF, 'snaps_network_config'): + self.netconf_override = getattr( + config.CONF, 'snaps_network_config') self.use_fip = ( - getattr(CONST, 'snaps_use_floating_ips') == 'True') + getattr(config.CONF, 'snaps_use_floating_ips') == 'True') self.use_keystone = ( - getattr(CONST, 'snaps_use_keystone') == 'True') + getattr(config.CONF, 'snaps_use_keystone') == 'True') scenario = env.get('DEPLOY_SCENARIO') self.flavor_metadata = None @@ -53,5 +54,5 @@ class SnapsTestRunner(unit.Suite): self.logger.info("Using flavor metadata '%s'", self.flavor_metadata) self.image_metadata = None - if hasattr(CONST, 'snaps_images'): - self.image_metadata = getattr(CONST, 'snaps_images') + if hasattr(config.CONF, 'snaps_images'): + self.image_metadata = getattr(config.CONF, 'snaps_images') diff --git a/functest/opnfv_tests/openstack/snaps/snaps_utils.py b/functest/opnfv_tests/openstack/snaps/snaps_utils.py index fc03ee9bd..fa1005ea8 100644 --- a/functest/opnfv_tests/openstack/snaps/snaps_utils.py +++ b/functest/opnfv_tests/openstack/snaps/snaps_utils.py @@ -9,6 +9,7 @@ """Some common utils wrapping snaps functions """ +from functest.utils import config from functest.utils import constants from functest.utils import env @@ -52,8 +53,8 @@ def get_credentials(proxy_settings_str=None, ssh_proxy_cmd=None): :return: an instance of snaps OSCreds object """ creds_override = None - if hasattr(constants.CONST, 'snaps_os_creds_override'): - creds_override = getattr(constants.CONST, 'snaps_os_creds_override') + if hasattr(config.CONF, 'snaps_os_creds_override'): + creds_override = getattr(config.CONF, 'snaps_os_creds_override') os_creds = openstack_tests.get_credentials( os_env_file=constants.ENV_FILE, proxy_settings_str=proxy_settings_str, ssh_proxy_cmd=ssh_proxy_cmd, overrides=creds_override) diff --git a/functest/opnfv_tests/openstack/tempest/conf_utils.py b/functest/opnfv_tests/openstack/tempest/conf_utils.py index 875939ecc..4fe05e46b 100644 --- a/functest/opnfv_tests/openstack/tempest/conf_utils.py +++ b/functest/opnfv_tests/openstack/tempest/conf_utils.py @@ -20,7 +20,7 @@ import subprocess import pkg_resources import yaml -from functest.utils.constants import CONST +from functest.utils import config from functest.utils import env import functest.utils.functest_utils as ft_utils @@ -31,9 +31,10 @@ RALLY_CONF_PATH = "/etc/rally/rally.conf" RALLY_AARCH64_PATCH_PATH = pkg_resources.resource_filename( 'functest', 'ci/rally_aarch64_patch.conf') GLANCE_IMAGE_PATH = os.path.join( - getattr(CONST, 'dir_functest_images'), - getattr(CONST, 'openstack_image_file_name')) -TEMPEST_RESULTS_DIR = os.path.join(getattr(CONST, 'dir_results'), 'tempest') + getattr(config.CONF, 'dir_functest_images'), + getattr(config.CONF, 'openstack_image_file_name')) +TEMPEST_RESULTS_DIR = os.path.join( + getattr(config.CONF, 'dir_results'), 'tempest') TEMPEST_CUSTOM = pkg_resources.resource_filename( 'functest', 'opnfv_tests/openstack/tempest/custom_tests/test_list.txt') TEMPEST_BLACKLIST = pkg_resources.resource_filename( @@ -43,7 +44,8 @@ TEMPEST_DEFCORE = pkg_resources.resource_filename( 'opnfv_tests/openstack/tempest/custom_tests/defcore_req.txt') TEMPEST_RAW_LIST = os.path.join(TEMPEST_RESULTS_DIR, 'test_raw_list.txt') TEMPEST_LIST = os.path.join(TEMPEST_RESULTS_DIR, 'test_list.txt') -REFSTACK_RESULTS_DIR = os.path.join(getattr(CONST, 'dir_results'), 'refstack') +REFSTACK_RESULTS_DIR = os.path.join( + getattr(config.CONF, 'dir_results'), 'refstack') TEMPEST_CONF_YAML = pkg_resources.resource_filename( 'functest', 'opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml') TEST_ACCOUNTS_FILE = pkg_resources.resource_filename( @@ -77,11 +79,10 @@ def create_rally_deployment(): cmd = "rally deployment destroy opnfv-rally" ft_utils.execute_command(cmd, error_msg=( "Deployment %s does not exist." - % getattr(CONST, 'rally_deployment_name')), - verbose=False) + % getattr(config.CONF, 'rally_deployment_name')), verbose=False) cmd = ("rally deployment create --fromenv --name={0}" - .format(getattr(CONST, 'rally_deployment_name'))) + .format(getattr(config.CONF, 'rally_deployment_name'))) error_msg = "Problem while creating Rally deployment" ft_utils.execute_command_raise(cmd, error_msg=error_msg) @@ -94,15 +95,15 @@ def create_verifier(): """Create new verifier""" LOGGER.info("Create verifier from existing repo...") cmd = ("rally verify delete-verifier --id '{0}' --force").format( - getattr(CONST, 'tempest_verifier_name')) + getattr(config.CONF, 'tempest_verifier_name')) ft_utils.execute_command(cmd, error_msg=( "Verifier %s does not exist." - % getattr(CONST, 'tempest_verifier_name')), + % getattr(config.CONF, 'tempest_verifier_name')), verbose=False) cmd = ("rally verify create-verifier --source {0} " "--name {1} --type tempest --system-wide" - .format(getattr(CONST, 'dir_repo_tempest'), - getattr(CONST, 'tempest_verifier_name'))) + .format(getattr(config.CONF, 'dir_repo_tempest'), + getattr(config.CONF, 'tempest_verifier_name'))) ft_utils.execute_command_raise(cmd, error_msg='Problem while creating verifier') @@ -114,7 +115,7 @@ def get_verifier_id(): create_rally_deployment() create_verifier() cmd = ("rally verify list-verifiers | awk '/" + - getattr(CONST, 'tempest_verifier_name') + + getattr(config.CONF, 'tempest_verifier_name') + "/ {print $2}'") proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, @@ -131,7 +132,7 @@ def get_verifier_deployment_id(): Returns deployment id for active Rally deployment """ cmd = ("rally deployment list | awk '/" + - getattr(CONST, 'rally_deployment_name') + + getattr(config.CONF, 'rally_deployment_name') + "/ {print $2}'") proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, @@ -150,7 +151,7 @@ def get_verifier_repo_dir(verifier_id): if not verifier_id: verifier_id = get_verifier_id() - return os.path.join(getattr(CONST, 'dir_rally_inst'), + return os.path.join(getattr(config.CONF, 'dir_rally_inst'), 'verification', 'verifier-{}'.format(verifier_id), 'repo') @@ -166,7 +167,7 @@ def get_verifier_deployment_dir(verifier_id, deployment_id): if not deployment_id: deployment_id = get_verifier_deployment_id() - return os.path.join(getattr(CONST, 'dir_rally_inst'), + return os.path.join(getattr(config.CONF, 'dir_rally_inst'), 'verification', 'verifier-{}'.format(verifier_id), 'for-deployment-{}'.format(deployment_id)) @@ -205,22 +206,22 @@ def configure_tempest_defcore(deployment_dir, network_name, image_id, flavor_id) LOGGER.debug("Updating selected tempest.conf parameters for defcore...") - config = ConfigParser.RawConfigParser() - config.read(conf_file) - config.set('DEFAULT', 'log_file', '{}/tempest.log'.format(deployment_dir)) - config.set('oslo_concurrency', 'lock_path', - '{}/lock_files'.format(deployment_dir)) + rconfig = ConfigParser.RawConfigParser() + rconfig.read(conf_file) + rconfig.set('DEFAULT', 'log_file', '{}/tempest.log'.format(deployment_dir)) + rconfig.set('oslo_concurrency', 'lock_path', + '{}/lock_files'.format(deployment_dir)) generate_test_accounts_file(tenant_id=tenant_id) - config.set('auth', 'test_accounts_file', TEST_ACCOUNTS_FILE) - config.set('scenario', 'img_dir', '{}'.format(deployment_dir)) - config.set('scenario', 'img_file', 'tempest-image') - config.set('compute', 'image_ref', image_id) - config.set('compute', 'image_ref_alt', image_id_alt) - config.set('compute', 'flavor_ref', flavor_id) - config.set('compute', 'flavor_ref_alt', flavor_id_alt) + rconfig.set('auth', 'test_accounts_file', TEST_ACCOUNTS_FILE) + rconfig.set('scenario', 'img_dir', '{}'.format(deployment_dir)) + rconfig.set('scenario', 'img_file', 'tempest-image') + rconfig.set('compute', 'image_ref', image_id) + rconfig.set('compute', 'image_ref_alt', image_id_alt) + rconfig.set('compute', 'flavor_ref', flavor_id) + rconfig.set('compute', 'flavor_ref_alt', flavor_id_alt) with open(conf_file, 'wb') as config_file: - config.write(config_file) + rconfig.write(config_file) confpath = pkg_resources.resource_filename( 'functest', @@ -236,10 +237,11 @@ def generate_test_accounts_file(tenant_id): LOGGER.debug("Add needed params into test_accounts.yaml...") accounts_list = [ { - 'tenant_name': getattr(CONST, 'tempest_identity_tenant_name'), + 'tenant_name': getattr( + config.CONF, 'tempest_identity_tenant_name'), 'tenant_id': str(tenant_id), - 'username': getattr(CONST, 'tempest_identity_user_name'), - 'password': getattr(CONST, 'tempest_identity_user_password') + 'username': getattr(config.CONF, 'tempest_identity_user_name'), + 'password': getattr(config.CONF, 'tempest_identity_user_password') } ] @@ -247,21 +249,21 @@ def generate_test_accounts_file(tenant_id): yaml.dump(accounts_list, tfile, default_flow_style=False) -def update_tempest_conf_file(conf_file, config): +def update_tempest_conf_file(conf_file, rconfig): """Update defined paramters into tempest config file""" with open(TEMPEST_CONF_YAML) as yfile: conf_yaml = yaml.safe_load(yfile) if conf_yaml: - sections = config.sections() + sections = rconfig.sections() for section in conf_yaml: if section not in sections: - config.add_section(section) + rconfig.add_section(section) sub_conf = conf_yaml.get(section) for key, value in sub_conf.items(): - config.set(section, key, value) + rconfig.set(section, key, value) with open(conf_file, 'wb') as config_file: - config.write(config_file) + rconfig.write(config_file) def configure_tempest_update_params(tempest_conf_file, network_name=None, @@ -271,47 +273,47 @@ def configure_tempest_update_params(tempest_conf_file, network_name=None, Add/update needed parameters into tempest.conf file """ LOGGER.debug("Updating selected tempest.conf parameters...") - config = ConfigParser.RawConfigParser() - config.read(tempest_conf_file) - config.set('compute', 'fixed_network_name', network_name) - config.set('compute', 'volume_device_name', - getattr(CONST, 'tempest_volume_device_name')) + rconfig = ConfigParser.RawConfigParser() + rconfig.read(tempest_conf_file) + rconfig.set('compute', 'fixed_network_name', network_name) + rconfig.set('compute', 'volume_device_name', + getattr(config.CONF, 'tempest_volume_device_name')) if image_id is not None: - config.set('compute', 'image_ref', image_id) + rconfig.set('compute', 'image_ref', image_id) if IMAGE_ID_ALT is not None: - config.set('compute', 'image_ref_alt', IMAGE_ID_ALT) - if getattr(CONST, 'tempest_use_custom_flavors'): + rconfig.set('compute', 'image_ref_alt', IMAGE_ID_ALT) + if getattr(config.CONF, 'tempest_use_custom_flavors'): if flavor_id is not None: - config.set('compute', 'flavor_ref', flavor_id) + rconfig.set('compute', 'flavor_ref', flavor_id) if FLAVOR_ID_ALT is not None: - config.set('compute', 'flavor_ref_alt', FLAVOR_ID_ALT) + rconfig.set('compute', 'flavor_ref_alt', FLAVOR_ID_ALT) if compute_cnt > 1: # enable multinode tests - config.set('compute', 'min_compute_nodes', compute_cnt) - config.set('compute-feature-enabled', 'live_migration', True) + rconfig.set('compute', 'min_compute_nodes', compute_cnt) + rconfig.set('compute-feature-enabled', 'live_migration', True) - config.set('identity', 'region', os.environ.get('OS_REGION_NAME')) + rconfig.set('identity', 'region', os.environ.get('OS_REGION_NAME')) identity_api_version = os.environ.get( "OS_IDENTITY_API_VERSION", os.environ.get("IDENTITY_API_VERSION")) if identity_api_version == '3': auth_version = 'v3' - config.set('identity-feature-enabled', 'api_v2', False) + rconfig.set('identity-feature-enabled', 'api_v2', False) else: auth_version = 'v2' - config.set('identity', 'auth_version', auth_version) - config.set( + rconfig.set('identity', 'auth_version', auth_version) + rconfig.set( 'validation', 'ssh_timeout', - getattr(CONST, 'tempest_validation_ssh_timeout')) - config.set('object-storage', 'operator_role', - getattr(CONST, 'tempest_object_storage_operator_role')) + getattr(config.CONF, 'tempest_validation_ssh_timeout')) + rconfig.set('object-storage', 'operator_role', + getattr(config.CONF, 'tempest_object_storage_operator_role')) if os.environ.get('OS_ENDPOINT_TYPE') is not None: - config.set('identity', 'v3_endpoint_type', - os.environ.get('OS_ENDPOINT_TYPE')) + rconfig.set('identity', 'v3_endpoint_type', + os.environ.get('OS_ENDPOINT_TYPE')) if os.environ.get('OS_ENDPOINT_TYPE') is not None: - sections = config.sections() + sections = rconfig.sections() services_list = ['compute', 'volume', 'image', @@ -321,13 +323,13 @@ def configure_tempest_update_params(tempest_conf_file, network_name=None, 'orchestration'] for service in services_list: if service not in sections: - config.add_section(service) - config.set(service, 'endpoint_type', - os.environ.get('OS_ENDPOINT_TYPE')) + rconfig.add_section(service) + rconfig.set(service, 'endpoint_type', + os.environ.get('OS_ENDPOINT_TYPE')) LOGGER.debug('Add/Update required params defined in tempest_conf.yaml ' 'into tempest.conf file') - update_tempest_conf_file(tempest_conf_file, config) + update_tempest_conf_file(tempest_conf_file, rconfig) backup_tempest_config(tempest_conf_file) diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py index d474ec3a9..a13b6dc59 100644 --- a/functest/opnfv_tests/openstack/tempest/tempest.py +++ b/functest/opnfv_tests/openstack/tempest/tempest.py @@ -25,7 +25,7 @@ import yaml from functest.core import testcase from functest.opnfv_tests.openstack.snaps import snaps_utils from functest.opnfv_tests.openstack.tempest import conf_utils -from functest.utils.constants import CONST +from functest.utils import config from functest.utils import env import functest.utils.functest_utils as ft_utils @@ -330,16 +330,17 @@ class TempestResourcesManager(object): self.os_creds = kwargs.get('os_creds') or snaps_utils.get_credentials() self.guid = '-' + str(uuid.uuid4()) self.creators = list() - self.cirros_image_config = getattr(CONST, 'snaps_images_cirros', None) + self.cirros_image_config = getattr( + config.CONF, 'snaps_images_cirros', None) def _create_project(self): """Create project for tests.""" project_creator = deploy_utils.create_project( self.os_creds, ProjectConfig( name=getattr( - CONST, 'tempest_identity_tenant_name') + self.guid, + config.CONF, 'tempest_identity_tenant_name') + self.guid, description=getattr( - CONST, 'tempest_identity_tenant_description'))) + config.CONF, 'tempest_identity_tenant_description'))) if project_creator is None or project_creator.get_project() is None: raise Exception("Failed to create tenant") self.creators.append(project_creator) @@ -350,11 +351,11 @@ class TempestResourcesManager(object): user_creator = deploy_utils.create_user( self.os_creds, UserConfig( name=getattr( - CONST, 'tempest_identity_user_name') + self.guid, + config.CONF, 'tempest_identity_user_name') + self.guid, password=getattr( - CONST, 'tempest_identity_user_password'), + config.CONF, 'tempest_identity_user_password'), project_name=getattr( - CONST, 'tempest_identity_tenant_name') + self.guid)) + config.CONF, 'tempest_identity_tenant_name') + self.guid)) if user_creator is None or user_creator.get_user() is None: raise Exception("Failed to create user") self.creators.append(user_creator) @@ -367,13 +368,13 @@ class TempestResourcesManager(object): tempest_segmentation_id = None tempest_network_type = getattr( - CONST, 'tempest_network_type', None) + config.CONF, 'tempest_network_type', None) tempest_physical_network = getattr( - CONST, 'tempest_physical_network', None) + config.CONF, 'tempest_physical_network', None) tempest_segmentation_id = getattr( - CONST, 'tempest_segmentation_id', None) + config.CONF, 'tempest_segmentation_id', None) tempest_net_name = getattr( - CONST, 'tempest_private_net_name') + self.guid + config.CONF, 'tempest_private_net_name') + self.guid network_creator = deploy_utils.create_network( self.os_creds, NetworkConfig( @@ -384,10 +385,11 @@ class TempestResourcesManager(object): segmentation_id=tempest_segmentation_id, subnet_settings=[SubnetConfig( name=getattr( - CONST, 'tempest_private_subnet_name') + self.guid, + config.CONF, + 'tempest_private_subnet_name') + self.guid, project_name=project_name, cidr=getattr( - CONST, 'tempest_private_subnet_cidr'))])) + config.CONF, 'tempest_private_subnet_cidr'))])) if network_creator is None or network_creator.get_network() is None: raise Exception("Failed to create private network") self.creators.append(network_creator) @@ -414,9 +416,9 @@ class TempestResourcesManager(object): flavor_creator = OpenStackFlavor( self.os_creds, FlavorConfig( name=name, - ram=getattr(CONST, 'openstack_flavor_ram'), - disk=getattr(CONST, 'openstack_flavor_disk'), - vcpus=getattr(CONST, 'openstack_flavor_vcpus'), + ram=getattr(config.CONF, 'openstack_flavor_ram'), + disk=getattr(config.CONF, 'openstack_flavor_disk'), + vcpus=getattr(config.CONF, 'openstack_flavor_vcpus'), metadata=flavor_metadata)) flavor = flavor_creator.create() if flavor is None: @@ -439,7 +441,7 @@ class TempestResourcesManager(object): if create_project: LOGGER.debug("Creating project and user for Tempest suite") project_name = getattr( - CONST, 'tempest_identity_tenant_name') + self.guid + config.CONF, 'tempest_identity_tenant_name') + self.guid result['project_id'] = self._create_project() result['user_id'] = self._create_user() result['tenant_id'] = result['project_id'] # for compatibility @@ -448,26 +450,28 @@ class TempestResourcesManager(object): result['tempest_net_name'] = self._create_network(project_name) LOGGER.debug("Creating image for Tempest suite") - image_name = getattr(CONST, 'openstack_image_name') + self.guid + image_name = getattr(config.CONF, 'openstack_image_name') + self.guid result['image_id'] = self._create_image(image_name) if use_custom_images: LOGGER.debug("Creating 2nd image for Tempest suite") - image_name = getattr(CONST, 'openstack_image_name_alt') + self.guid + image_name = getattr( + config.CONF, 'openstack_image_name_alt') + self.guid result['image_id_alt'] = self._create_image(image_name) - if (getattr(CONST, 'tempest_use_custom_flavors') == 'True' or + if (getattr(config.CONF, 'tempest_use_custom_flavors') == 'True' or use_custom_flavors): LOGGER.info("Creating flavor for Tempest suite") - name = getattr(CONST, 'openstack_flavor_name') + self.guid + name = getattr(config.CONF, 'openstack_flavor_name') + self.guid result['flavor_id'] = self._create_flavor(name) if use_custom_flavors: LOGGER.info("Creating 2nd flavor for Tempest suite") scenario = env.get('DEPLOY_SCENARIO') if 'ovs' in scenario or 'fdio' in scenario: - setattr(CONST, 'openstack_flavor_ram', 1024) - name = getattr(CONST, 'openstack_flavor_name_alt') + self.guid + setattr(config.CONF, 'openstack_flavor_ram', 1024) + name = getattr( + config.CONF, 'openstack_flavor_name_alt') + self.guid result['flavor_id_alt'] = self._create_flavor(name) return result diff --git a/functest/opnfv_tests/openstack/vping/vping_base.py b/functest/opnfv_tests/openstack/vping/vping_base.py index fae5db2d4..586b8d655 100644 --- a/functest/opnfv_tests/openstack/vping/vping_base.py +++ b/functest/opnfv_tests/openstack/vping/vping_base.py @@ -17,7 +17,7 @@ import uuid from functest.core import testcase from functest.opnfv_tests.openstack.snaps import snaps_utils -from functest.utils.constants import CONST +from functest.utils import config from functest.utils import env from snaps.config.flavor import FlavorConfig @@ -52,20 +52,24 @@ class VPingBase(testcase.TestCase): # Shared metadata self.guid = '-' + str(uuid.uuid4()) - self.router_name = getattr(CONST, 'vping_router_name') + self.guid - self.vm1_name = getattr(CONST, 'vping_vm_name_1') + self.guid - self.vm2_name = getattr(CONST, 'vping_vm_name_2') + self.guid + self.router_name = getattr( + config.CONF, 'vping_router_name') + self.guid + self.vm1_name = getattr( + config.CONF, 'vping_vm_name_1') + self.guid + self.vm2_name = getattr(config.CONF, 'vping_vm_name_2') + self.guid - self.vm_boot_timeout = getattr(CONST, 'vping_vm_boot_timeout') - self.vm_delete_timeout = getattr(CONST, 'vping_vm_delete_timeout') + self.vm_boot_timeout = getattr(config.CONF, 'vping_vm_boot_timeout') + self.vm_delete_timeout = getattr( + config.CONF, 'vping_vm_delete_timeout') self.vm_ssh_connect_timeout = getattr( - CONST, 'vping_vm_ssh_connect_timeout') - self.ping_timeout = getattr(CONST, 'vping_ping_timeout') + config.CONF, 'vping_vm_ssh_connect_timeout') + self.ping_timeout = getattr(config.CONF, 'vping_ping_timeout') self.flavor_name = 'vping-flavor' + self.guid # Move this configuration option up for all tests to leverage - if hasattr(CONST, 'snaps_images_cirros'): - self.cirros_image_config = getattr(CONST, 'snaps_images_cirros') + if hasattr(config.CONF, 'snaps_images_cirros'): + self.cirros_image_config = getattr( + config.CONF, 'snaps_images_cirros') else: self.cirros_image_config = None @@ -82,7 +86,7 @@ class VPingBase(testcase.TestCase): '%Y-%m-%d %H:%M:%S')) image_base_name = '{}-{}'.format( - getattr(CONST, 'vping_image_name'), + getattr(config.CONF, 'vping_image_name'), str(self.guid)) os_image_settings = openstack_tests.cirros_image_settings( image_base_name, image_metadata=self.cirros_image_config) @@ -92,21 +96,24 @@ class VPingBase(testcase.TestCase): self.os_creds, os_image_settings) self.creators.append(self.image_creator) - private_net_name = getattr(CONST, 'vping_private_net_name') + self.guid + private_net_name = getattr( + config.CONF, 'vping_private_net_name') + self.guid private_subnet_name = getattr( - CONST, 'vping_private_subnet_name') + self.guid - private_subnet_cidr = getattr(CONST, 'vping_private_subnet_cidr') + config.CONF, 'vping_private_subnet_name') + self.guid + private_subnet_cidr = getattr(config.CONF, 'vping_private_subnet_cidr') vping_network_type = None vping_physical_network = None vping_segmentation_id = None - if hasattr(CONST, 'vping_network_type'): - vping_network_type = getattr(CONST, 'vping_network_type') - if hasattr(CONST, 'vping_physical_network'): - vping_physical_network = getattr(CONST, 'vping_physical_network') - if hasattr(CONST, 'vping_segmentation_id'): - vping_segmentation_id = getattr(CONST, 'vping_segmentation_id') + if hasattr(config.CONF, 'vping_network_type'): + vping_network_type = getattr(config.CONF, 'vping_network_type') + if hasattr(config.CONF, 'vping_physical_network'): + vping_physical_network = getattr( + config.CONF, 'vping_physical_network') + if hasattr(config.CONF, 'vping_segmentation_id'): + vping_segmentation_id = getattr( + config.CONF, 'vping_segmentation_id') self.logger.info( "Creating network with name: '%s'", private_net_name) @@ -179,7 +186,7 @@ class VPingBase(testcase.TestCase): Cleanup all OpenStack objects. Should be called on completion :return: """ - if getattr(CONST, 'vping_cleanup_objects') == 'True': + if getattr(config.CONF, 'vping_cleanup_objects') == 'True': for creator in reversed(self.creators): try: creator.clean() diff --git a/functest/opnfv_tests/openstack/vping/vping_ssh.py b/functest/opnfv_tests/openstack/vping/vping_ssh.py index 0964d8464..e6c6bf351 100644 --- a/functest/opnfv_tests/openstack/vping/vping_ssh.py +++ b/functest/opnfv_tests/openstack/vping/vping_ssh.py @@ -17,7 +17,7 @@ import pkg_resources from functest.core.testcase import TestCase from functest.energy import energy from functest.opnfv_tests.openstack.vping import vping_base -from functest.utils.constants import CONST +from functest.utils import config from snaps.config.keypair import KeypairConfig from snaps.config.network import PortConfig @@ -42,11 +42,11 @@ class VPingSSH(vping_base.VPingBase): kwargs["case_name"] = "vping_ssh" super(VPingSSH, self).__init__(**kwargs) - self.kp_name = getattr(CONST, 'vping_keypair_name') + self.guid - self.kp_priv_file = getattr(CONST, 'vping_keypair_priv_file') - self.kp_pub_file = getattr(CONST, 'vping_keypair_pub_file') - self.sg_name = getattr(CONST, 'vping_sg_name') + self.guid - self.sg_desc = getattr(CONST, 'vping_sg_desc') + self.kp_name = getattr(config.CONF, 'vping_keypair_name') + self.guid + self.kp_priv_file = getattr(config.CONF, 'vping_keypair_priv_file') + self.kp_pub_file = getattr(config.CONF, 'vping_keypair_pub_file') + self.sg_name = getattr(config.CONF, 'vping_sg_name') + self.guid + self.sg_desc = getattr(config.CONF, 'vping_sg_desc') @energy.enable_recording def run(self, **kwargs): diff --git a/functest/opnfv_tests/sdn/odl/odl.py b/functest/opnfv_tests/sdn/odl/odl.py index 705f39dab..7283be57f 100644 --- a/functest/opnfv_tests/sdn/odl/odl.py +++ b/functest/opnfv_tests/sdn/odl/odl.py @@ -30,7 +30,7 @@ from snaps.openstack.utils import keystone_utils from functest.core import robotframework from functest.opnfv_tests.openstack.snaps import snaps_utils -from functest.utils import constants +from functest.utils import config from functest.utils import env __author__ = "Cedric Ollivier " @@ -39,7 +39,7 @@ __author__ = "Cedric Ollivier " class ODLTests(robotframework.RobotFramework): """ODL test runner.""" - odl_test_repo = getattr(constants.CONST, 'dir_repo_odl_test') + odl_test_repo = getattr(config.CONF, 'dir_repo_odl_test') neutron_suite_dir = os.path.join( odl_test_repo, "csit/suites/openstack/neutron") basic_suite_dir = os.path.join( @@ -52,7 +52,7 @@ class ODLTests(robotframework.RobotFramework): def __init__(self, **kwargs): super(ODLTests, self).__init__(**kwargs) self.res_dir = os.path.join( - getattr(constants.CONST, 'dir_results'), 'odl') + getattr(config.CONF, 'dir_results'), 'odl') self.xml_file = os.path.join(self.res_dir, 'output.xml') @classmethod diff --git a/functest/opnfv_tests/vnf/epc/juju_epc.py b/functest/opnfv_tests/vnf/epc/juju_epc.py index 689791862..3b62a9a1c 100644 --- a/functest/opnfv_tests/vnf/epc/juju_epc.py +++ b/functest/opnfv_tests/vnf/epc/juju_epc.py @@ -22,7 +22,7 @@ import yaml from functest.core import vnf from functest.opnfv_tests.openstack.snaps import snaps_utils -from functest.utils.constants import CONST +from functest.utils import config from snaps.config.flavor import FlavorConfig from snaps.config.image import ImageConfig @@ -89,7 +89,7 @@ class JujuEpc(vnf.VnfOnBoarding): 'functest', 'opnfv_tests/vnf/epc') try: self.config = getattr( - CONST, 'vnf_{}_config'.format(self.case_name)) + config.CONF, 'vnf_{}_config'.format(self.case_name)) except Exception: raise Exception("VNF config file not found") self.config_file = os.path.join(self.case_dir, self.config) @@ -123,7 +123,7 @@ class JujuEpc(vnf.VnfOnBoarding): self.public_auth_url = None self.res_dir = os.path.join( - getattr(CONST, 'dir_results'), self.case_name) + getattr(config.CONF, 'dir_results'), self.case_name) def _bypass_juju_network_discovery_bug(self, name): user_creator = OpenStackUser( @@ -228,13 +228,13 @@ class JujuEpc(vnf.VnfOnBoarding): """ self.__logger.info("Deployed Orchestrator") private_net_name = getattr( - CONST, 'vnf_{}_private_net_name'.format(self.case_name)) + config.CONF, 'vnf_{}_private_net_name'.format(self.case_name)) private_subnet_name = getattr( - CONST, 'vnf_{}_private_subnet_name'.format(self.case_name)) + config.CONF, 'vnf_{}_private_subnet_name'.format(self.case_name)) private_subnet_cidr = getattr( - CONST, 'vnf_{}_private_subnet_cidr'.format(self.case_name)) + config.CONF, 'vnf_{}_private_subnet_cidr'.format(self.case_name)) abot_router = getattr( - CONST, 'vnf_{}_external_router'.format(self.case_name)) + config.CONF, 'vnf_{}_external_router'.format(self.case_name)) self.__logger.info("Creating full network ...") subnet_settings = SubnetConfig( diff --git a/functest/opnfv_tests/vnf/ims/clearwater_ims_base.py b/functest/opnfv_tests/vnf/ims/clearwater_ims_base.py index f3f2e1d7c..7e1d5bb2d 100644 --- a/functest/opnfv_tests/vnf/ims/clearwater_ims_base.py +++ b/functest/opnfv_tests/vnf/ims/clearwater_ims_base.py @@ -18,7 +18,7 @@ import pkg_resources import requests import functest.core.vnf as vnf -from functest.utils.constants import CONST +from functest.utils import config import functest.utils.functest_utils as ft_utils __author__ = ("Valentin Boucher , " @@ -33,10 +33,10 @@ class ClearwaterOnBoardingBase(vnf.VnfOnBoarding): super(ClearwaterOnBoardingBase, self).__init__(**kwargs) self.case_dir = pkg_resources.resource_filename( 'functest', 'opnfv_tests/vnf/ims') - self.data_dir = getattr(CONST, 'dir_ims_data') - self.result_dir = os.path.join(getattr(CONST, 'dir_results'), + self.data_dir = getattr(config.CONF, 'dir_ims_data') + self.result_dir = os.path.join(getattr(config.CONF, 'dir_results'), self.case_name) - self.test_dir = getattr(CONST, 'dir_repo_vims_test') + self.test_dir = getattr(config.CONF, 'dir_repo_vims_test') if not os.path.exists(self.data_dir): os.makedirs(self.data_dir) diff --git a/functest/opnfv_tests/vnf/ims/cloudify_ims.py b/functest/opnfv_tests/vnf/ims/cloudify_ims.py index aa1256aba..39bbb7678 100644 --- a/functest/opnfv_tests/vnf/ims/cloudify_ims.py +++ b/functest/opnfv_tests/vnf/ims/cloudify_ims.py @@ -21,7 +21,7 @@ import yaml from functest.energy import energy from functest.opnfv_tests.openstack.snaps import snaps_utils import functest.opnfv_tests.vnf.ims.clearwater_ims_base as clearwater_ims_base -from functest.utils.constants import CONST +from functest.utils import config from snaps.config.flavor import FlavorConfig from snaps.config.image import ImageConfig @@ -59,7 +59,7 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase): # Retrieve the configuration try: self.config = getattr( - CONST, 'vnf_{}_config'.format(self.case_name)) + config.CONF, 'vnf_{}_config'.format(self.case_name)) except Exception: raise Exception("VNF config file not found") diff --git a/functest/opnfv_tests/vnf/ims/cloudify_ims_perf.py b/functest/opnfv_tests/vnf/ims/cloudify_ims_perf.py index 72e1e447e..cdf1edc0a 100644 --- a/functest/opnfv_tests/vnf/ims/cloudify_ims_perf.py +++ b/functest/opnfv_tests/vnf/ims/cloudify_ims_perf.py @@ -25,7 +25,7 @@ from functest.opnfv_tests.vnf.ims import cloudify_ims from functest.opnfv_tests.vnf.ims.ixia.utils import IxChassisUtils from functest.opnfv_tests.vnf.ims.ixia.utils import IxLoadUtils from functest.opnfv_tests.vnf.ims.ixia.utils import IxRestUtils -from functest.utils.constants import CONST +from functest.utils import config from snaps.config.flavor import FlavorConfig from snaps.config.image import ImageConfig @@ -58,7 +58,7 @@ class CloudifyImsPerf(cloudify_ims.CloudifyIms): # Retrieve the configuration try: self.config = getattr( - CONST, 'vnf_{}_config'.format(self.case_name)) + config.CONF, 'vnf_{}_config'.format(self.case_name)) except Exception: raise Exception("VNF config file not found") diff --git a/functest/opnfv_tests/vnf/ims/orchestra_clearwaterims.py b/functest/opnfv_tests/vnf/ims/orchestra_clearwaterims.py index e1b7f3ab0..85c55ec5f 100644 --- a/functest/opnfv_tests/vnf/ims/orchestra_clearwaterims.py +++ b/functest/opnfv_tests/vnf/ims/orchestra_clearwaterims.py @@ -20,7 +20,7 @@ import yaml import functest.core.vnf as vnf import functest.utils.openstack_utils as os_utils from functest.opnfv_tests.openstack.snaps import snaps_utils -from functest.utils.constants import CONST +from functest.utils import config from org.openbaton.cli.errors.errors import NfvoException from org.openbaton.cli.agents.agents import MainAgent @@ -150,14 +150,14 @@ class ClearwaterImsVnf(vnf.VnfOnBoarding): self.case_dir = pkg_resources.resource_filename( 'functest', 'opnfv_tests/vnf/ims/') - self.data_dir = getattr(CONST, 'dir_ims_data') - self.test_dir = getattr(CONST, 'dir_repo_vims_test') + self.data_dir = getattr(config.CONF, 'dir_ims_data') + self.test_dir = getattr(config.CONF, 'dir_repo_vims_test') self.created_resources = [] self.logger.info("%s VNF onboarding test starting", self.case_name) try: self.config = getattr( - CONST, 'vnf_{}_config'.format(self.case_name)) + config.CONF, 'vnf_{}_config'.format(self.case_name)) except BaseException: raise Exception("Orchestra VNF config file not found") diff --git a/functest/opnfv_tests/vnf/ims/orchestra_openims.py b/functest/opnfv_tests/vnf/ims/orchestra_openims.py index c35ec8c18..a8a276caf 100644 --- a/functest/opnfv_tests/vnf/ims/orchestra_openims.py +++ b/functest/opnfv_tests/vnf/ims/orchestra_openims.py @@ -19,7 +19,7 @@ import yaml import functest.core.vnf as vnf import functest.utils.openstack_utils as os_utils -from functest.utils.constants import CONST +from functest.utils import config from org.openbaton.cli.errors.errors import NfvoException from org.openbaton.cli.agents.agents import MainAgent @@ -151,14 +151,14 @@ class OpenImsVnf(vnf.VnfOnBoarding): self.case_dir = pkg_resources.resource_filename( 'functest', 'opnfv_tests/vnf/ims/') - self.data_dir = getattr(CONST, 'dir_ims_data') - self.test_dir = getattr(CONST, 'dir_repo_vims_test') + self.data_dir = getattr(config.CONF, 'dir_ims_data') + self.test_dir = getattr(config.CONF, 'dir_repo_vims_test') self.created_resources = [] self.logger.info("%s VNF onboarding test starting", self.case_name) try: self.config = getattr( - CONST, 'vnf_{}_config'.format(self.case_name)) + config.CONF, 'vnf_{}_config'.format(self.case_name)) except BaseException: raise Exception("Orchestra VNF config file not found") config_file = self.case_dir + self.config @@ -206,11 +206,10 @@ class OpenImsVnf(vnf.VnfOnBoarding): self.logger.info("Additional pre-configuration steps") self.creds = { - "tenant": self.snaps_creds.project_name, - "username": self.snaps_creds.username, - "password": self.snaps_creds.password, - "auth_url": public_auth_url - } + "tenant": self.snaps_creds.project_name, + "username": self.snaps_creds.username, + "password": self.snaps_creds.password, + "auth_url": public_auth_url} self.prepare_images() self.prepare_flavor() self.prepare_security_groups() diff --git a/functest/opnfv_tests/vnf/router/cloudify_vrouter.py b/functest/opnfv_tests/vnf/router/cloudify_vrouter.py index eb1c4050c..18acce6f7 100644 --- a/functest/opnfv_tests/vnf/router/cloudify_vrouter.py +++ b/functest/opnfv_tests/vnf/router/cloudify_vrouter.py @@ -23,7 +23,7 @@ from scp import SCPClient from functest.opnfv_tests.openstack.snaps import snaps_utils import functest.opnfv_tests.vnf.router.vrouter_base as vrouter_base from functest.opnfv_tests.vnf.router.utilvnf import Utilvnf -from functest.utils.constants import CONST +from functest.utils import config from functest.utils import functest_utils from git import Repo @@ -69,7 +69,7 @@ class CloudifyVrouter(vrouter_base.VrouterOnBoardingBase): # Retrieve the configuration try: self.config = getattr( - CONST, 'vnf_{}_config'.format(self.case_name)) + config.CONF, 'vnf_{}_config'.format(self.case_name)) except Exception: raise Exception("VNF config file not found") diff --git a/functest/opnfv_tests/vnf/router/utilvnf.py b/functest/opnfv_tests/vnf/router/utilvnf.py index d18e9375c..6861b3865 100644 --- a/functest/opnfv_tests/vnf/router/utilvnf.py +++ b/functest/opnfv_tests/vnf/router/utilvnf.py @@ -18,7 +18,7 @@ import pkg_resources import requests import yaml -from functest.utils.constants import CONST +from functest.utils import config from git import Repo from requests.auth import HTTPBasicAuth from snaps.openstack.utils import nova_utils @@ -55,7 +55,7 @@ class Utilvnf(object): # pylint: disable=too-many-instance-attributes def __init__(self): self.snaps_creds = "" - self.vnf_data_dir = getattr(CONST, 'dir_router_data') + self.vnf_data_dir = getattr(config.CONF, 'dir_router_data') self.opnfv_vnf_data_dir = "opnfv-vnf-data/" self.command_template_dir = "command_template/" self.test_scenario_yaml = "test_scenario.yaml" @@ -76,7 +76,7 @@ class Utilvnf(object): # pylint: disable=too-many-instance-attributes 'functest', 'opnfv_tests/vnf/router') config_file_name = getattr( - CONST, 'vnf_{}_config'.format("vyos_vrouter")) + config.CONF, 'vnf_{}_config'.format("vyos_vrouter")) config_file = os.path.join(case_dir, config_file_name) diff --git a/functest/opnfv_tests/vnf/router/vrouter_base.py b/functest/opnfv_tests/vnf/router/vrouter_base.py index 84cd51e51..8818032da 100644 --- a/functest/opnfv_tests/vnf/router/vrouter_base.py +++ b/functest/opnfv_tests/vnf/router/vrouter_base.py @@ -20,7 +20,7 @@ import time import pkg_resources import functest.core.vnf as vnf -from functest.utils.constants import CONST +from functest.utils import config from functest.opnfv_tests.vnf.router.test_controller import function_test_exec from functest.opnfv_tests.vnf.router.utilvnf import Utilvnf @@ -37,8 +37,8 @@ class VrouterOnBoardingBase(vnf.VnfOnBoarding): super(VrouterOnBoardingBase, self).__init__(**kwargs) self.case_dir = pkg_resources.resource_filename( 'functest', 'opnfv_tests/vnf/router') - self.data_dir = getattr(CONST, 'dir_router_data') - self.result_dir = os.path.join(getattr(CONST, 'dir_results'), + self.data_dir = getattr(config.CONF, 'dir_router_data') + self.result_dir = os.path.join(getattr(config.CONF, 'dir_results'), self.case_name) self.util = Utilvnf() self.util_info = {} diff --git a/functest/tests/unit/openstack/tempest/test_conf_utils.py b/functest/tests/unit/openstack/tempest/test_conf_utils.py index 34dc0f4c4..e88bb2481 100644 --- a/functest/tests/unit/openstack/tempest/test_conf_utils.py +++ b/functest/tests/unit/openstack/tempest/test_conf_utils.py @@ -14,7 +14,7 @@ import unittest import mock from functest.opnfv_tests.openstack.tempest import tempest, conf_utils -from functest.utils.constants import CONST +from functest.utils import config from snaps.openstack.os_credentials import OSCreds @@ -77,13 +77,13 @@ class OSTempestConfUtilsTesting(unittest.TestCase): tempest_resources = tempest.TempestResourcesManager( os_creds=self.os_creds) - setattr(CONST, 'tempest_use_custom_flavors', 'True') + setattr(config.CONF, 'tempest_use_custom_flavors', 'True') with self.assertRaises(Exception) as context: tempest_resources.create() msg = 'Failed to create flavor' self.assertTrue(msg in context.exception, msg=str(context.exception)) - setattr(CONST, 'tempest_use_custom_flavors', 'False') + setattr(config.CONF, 'tempest_use_custom_flavors', 'False') with self.assertRaises(Exception) as context: tempest_resources.create(use_custom_flavors=True) msg = 'Failed to create flavor' @@ -101,12 +101,12 @@ class OSTempestConfUtilsTesting(unittest.TestCase): cmd = "rally deployment destroy opnfv-rally" error_msg = "Deployment %s does not exist." % \ - getattr(CONST, 'rally_deployment_name') + getattr(config.CONF, 'rally_deployment_name') mock_logger_info.assert_any_call("Creating Rally environment...") mock_exec.assert_any_call(cmd, error_msg=error_msg, verbose=False) cmd = "rally deployment create --fromenv --name=" - cmd += getattr(CONST, 'rally_deployment_name') + cmd += getattr(config.CONF, 'rally_deployment_name') error_msg = "Problem while creating Rally deployment" mock_exec_raise.assert_any_call(cmd, error_msg=error_msg) @@ -123,12 +123,12 @@ class OSTempestConfUtilsTesting(unittest.TestCase): 'stdout.readline.return_value': '0'} mock_popen.configure_mock(**attrs) - setattr(CONST, 'tempest_verifier_name', 'test_veifier_name') + setattr(config.CONF, 'tempest_verifier_name', 'test_verifier_name') with mock.patch('functest.utils.functest_utils.execute_command_raise', side_effect=Exception), \ self.assertRaises(Exception): conf_utils.create_verifier() - mock_logger_debug.assert_any_call("Tempest test_veifier_name" + mock_logger_debug.assert_any_call("Tempest test_verifier_name" " does not exist") @mock.patch('functest.opnfv_tests.openstack.tempest.conf_utils.' @@ -137,7 +137,7 @@ class OSTempestConfUtilsTesting(unittest.TestCase): 'create_rally_deployment', return_value=mock.Mock()) def test_get_verif_id_missing_verif(self, mock_rally, mock_tempest): # pylint: disable=unused-argument - setattr(CONST, 'tempest_verifier_name', 'test_verifier_name') + setattr(config.CONF, 'tempest_verifier_name', 'test_verifier_name') with mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.subprocess.Popen') as mock_popen, \ self.assertRaises(Exception): @@ -153,7 +153,7 @@ class OSTempestConfUtilsTesting(unittest.TestCase): 'create_rally_deployment', return_value=mock.Mock()) def test_get_verifier_id_default(self, mock_rally, mock_tempest): # pylint: disable=unused-argument - setattr(CONST, 'tempest_verifier_name', 'test_verifier_name') + setattr(config.CONF, 'tempest_verifier_name', 'test_verifier_name') with mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.subprocess.Popen') as mock_popen: mock_stdout = mock.Mock() @@ -165,7 +165,7 @@ class OSTempestConfUtilsTesting(unittest.TestCase): 'test_deploy_id') def test_get_depl_id_missing_rally(self): - setattr(CONST, 'tempest_verifier_name', 'test_deploy_name') + setattr(config.CONF, 'tempest_verifier_name', 'test_deploy_name') with mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.subprocess.Popen') as mock_popen, \ self.assertRaises(Exception): @@ -176,7 +176,7 @@ class OSTempestConfUtilsTesting(unittest.TestCase): conf_utils.get_verifier_deployment_id() def test_get_depl_id_default(self): - setattr(CONST, 'tempest_verifier_name', 'test_deploy_name') + setattr(config.CONF, 'tempest_verifier_name', 'test_deploy_name') with mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.subprocess.Popen') as mock_popen: mock_stdout = mock.Mock() @@ -313,12 +313,12 @@ class OSTempestConfUtilsTesting(unittest.TestCase): 'test_image_id_alt'), None, None) def test_upd_missing_flavor_id(self): - setattr(CONST, 'tempest_use_custom_flavors', 'True') + setattr(config.CONF, 'tempest_use_custom_flavors', 'True') self._test_missing_param(('compute', 'flavor_ref', 'test_flavor_id'), None, 'test_flavor_id') def test_upd_missing_flavor_id_alt(self): - setattr(CONST, 'tempest_use_custom_flavors', 'True') + setattr(config.CONF, 'tempest_use_custom_flavors', 'True') conf_utils.FLAVOR_ID_ALT = 'test_flavor_id_alt' self._test_missing_param(('compute', 'flavor_ref_alt', 'test_flavor_id_alt'), None, None) @@ -327,14 +327,14 @@ class OSTempestConfUtilsTesting(unittest.TestCase): with mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.os.path.isfile', return_value=False), \ - mock.patch('functest.opnfv_tests.openstack.tempest.' - 'conf_utils.ft_utils.execute_command') as mexe, \ + mock.patch('functest.opnfv_tests.openstack.tempest.' + 'conf_utils.ft_utils.execute_command') as mexe, \ self.assertRaises(Exception) as context: conf_utils.configure_verifier('test_dep_dir') mexe.assert_any_call("rally verify configure-verifier") msg = ("Tempest configuration file 'test_dep_dir/tempest.conf'" " NOT found.") - self.assertTrue(msg in context) + self.assertTrue(msg in context.exception) def test_configure_verifier_default(self): with mock.patch('functest.opnfv_tests.openstack.tempest.' diff --git a/functest/tests/unit/utils/test_env.py b/functest/tests/unit/utils/test_env.py index 064ff9880..49d2d974c 100644 --- a/functest/tests/unit/utils/test_env.py +++ b/functest/tests/unit/utils/test_env.py @@ -16,7 +16,6 @@ import unittest from six.moves import reload_module from functest.utils import env -from functest.utils import constants class EnvTesting(unittest.TestCase): @@ -30,65 +29,27 @@ class EnvTesting(unittest.TestCase): def test_get_unset_unknown_env(self): del os.environ['FOO'] self.assertEqual(env.get('FOO'), None) - # Backward compatibilty (waiting for SDNVPN and SFC) - reload_module(env) - with self.assertRaises(AttributeError): - getattr(env.ENV, 'FOO') - reload_module(constants) - with self.assertRaises(AttributeError): - getattr(constants.CONST, 'FOO') def test_get_unknown_env(self): self.assertEqual(env.get('FOO'), 'foo') reload_module(env) - # Backward compatibilty (waiting for SDNVPN and SFC) - with self.assertRaises(AttributeError): - getattr(env.ENV, 'FOO') - reload_module(constants) - with self.assertRaises(AttributeError): - getattr(constants.CONST, 'FOO') def test_get_unset_env(self): del os.environ['CI_LOOP'] self.assertEqual( env.get('CI_LOOP'), env.INPUTS['CI_LOOP']) - # Backward compatibilty (waiting for SDNVPN and SFC) - reload_module(env) - self.assertEqual( - getattr(env.ENV, 'CI_LOOP'), env.INPUTS['CI_LOOP']) - reload_module(constants) - self.assertEqual( - getattr(constants.CONST, 'CI_LOOP'), - env.INPUTS['CI_LOOP']) def test_get_env(self): self.assertEqual( env.get('CI_LOOP'), 'weekly') - # Backward compatibilty (waiting for SDNVPN and SFC) - reload_module(env) - self.assertEqual(getattr(env.ENV, 'CI_LOOP'), 'weekly') - reload_module(constants) - self.assertEqual(getattr(constants.CONST, 'CI_LOOP'), 'weekly') def test_get_unset_env2(self): del os.environ['BUILD_TAG'] self.assertEqual( env.get('BUILD_TAG'), env.INPUTS['BUILD_TAG']) - # Backward compatibilty (waiting for SDNVPN and SFC) - reload_module(env) - self.assertEqual( - getattr(env.ENV, 'BUILD_TAG'), env.INPUTS['BUILD_TAG']) - reload_module(constants) - self.assertEqual( - getattr(constants.CONST, 'BUILD_TAG'), env.INPUTS['BUILD_TAG']) def test_get_env2(self): self.assertEqual(env.get('BUILD_TAG'), 'master') - # Backward compatibilty (waiting for SDNVPN and SFC) - reload_module(env) - self.assertEqual(getattr(env.ENV, 'BUILD_TAG'), 'master') - reload_module(env) - self.assertEqual(getattr(constants.CONST, 'BUILD_TAG'), 'master') if __name__ == "__main__": diff --git a/functest/utils/constants.py b/functest/utils/constants.py index 2184c472f..0bc00d80a 100644 --- a/functest/utils/constants.py +++ b/functest/utils/constants.py @@ -3,28 +3,8 @@ # pylint: disable=missing-docstring import pkg_resources -import six - -from functest.utils import config -from functest.utils import env CONFIG_FUNCTEST_YAML = pkg_resources.resource_filename( 'functest', 'ci/config_functest.yaml') ENV_FILE = '/home/opnfv/functest/conf/env_file' - - -class Constants(object): # pylint: disable=too-few-public-methods - - # Backward compatibility (waiting for SDNVPN and SFC) - CONFIG_FUNCTEST_YAML = CONFIG_FUNCTEST_YAML - env_file = ENV_FILE - - def __init__(self): - for attr_n, attr_v in six.iteritems(config.CONF.__dict__): - setattr(self, attr_n, attr_v) - for env_n, env_v in six.iteritems(env.ENV.__dict__): - setattr(self, env_n, env_v) - - -CONST = Constants() diff --git a/functest/utils/env.py b/functest/utils/env.py index e75b17d1a..ed09d9f02 100644 --- a/functest/utils/env.py +++ b/functest/utils/env.py @@ -11,8 +11,6 @@ import os -import six - INPUTS = { 'EXTERNAL_NETWORK': None, 'CI_LOOP': 'daily', @@ -33,14 +31,3 @@ def get(env_var): if env_var not in INPUTS.keys(): return os.environ.get(env_var, None) return os.environ.get(env_var, INPUTS[env_var]) - - -class Environment(object): # pylint: disable=too-few-public-methods - - # Backward compatibility (waiting for SDNVPN and SFC) - def __init__(self): - for key, _ in six.iteritems(INPUTS): - setattr(self, key, get(key)) - -# Backward compatibility (waiting for SDNVPN and SFC) -ENV = Environment() diff --git a/functest/utils/functest_utils.py b/functest/utils/functest_utils.py index 72c9d2076..38a60d495 100644 --- a/functest/utils/functest_utils.py +++ b/functest/utils/functest_utils.py @@ -157,13 +157,13 @@ def get_parameter_from_yaml(parameter, yfile): def get_functest_config(parameter): - yaml_ = constants.Constants.CONFIG_FUNCTEST_YAML + yaml_ = constants.CONFIG_FUNCTEST_YAML return get_parameter_from_yaml(parameter, yaml_) def get_functest_yaml(): # pylint: disable=bad-continuation - with open(constants.Constants.CONFIG_FUNCTEST_YAML) as yaml_fd: + with open(constants.CONFIG_FUNCTEST_YAML) as yaml_fd: functest_yaml = yaml.safe_load(yaml_fd) return functest_yaml -- cgit 1.2.3-korg