aboutsummaryrefslogtreecommitdiffstats
path: root/sfc/lib/config.py
diff options
context:
space:
mode:
Diffstat (limited to 'sfc/lib/config.py')
-rw-r--r--sfc/lib/config.py67
1 files changed, 48 insertions, 19 deletions
diff --git a/sfc/lib/config.py b/sfc/lib/config.py
index bc955d8b..e6149081 100644
--- a/sfc/lib/config.py
+++ b/sfc/lib/config.py
@@ -8,16 +8,18 @@
# http://www.apache.org/licenses/LICENSE-2.0
#
+
+import logging
import os
-import yaml
import sfc
+import yaml
import functest
-
-import sfc.lib.test_utils as test_utils
-from functest.utils.constants import CONST
-import logging
import functest.utils.functest_utils as ft_utils
+import sfc.lib.test_utils as test_utils
+
+from functest.utils import config
+from functest.utils import env
logger = logging.getLogger(__name__)
@@ -28,8 +30,7 @@ class CommonConfig(object):
"""
def __init__(self):
- self.line_length = 30
- self.test_db = ft_utils.get_functest_config("results.test_db_url")
+ self.line_length = 35
self.functest_repo_path = os.path.dirname(functest.__file__)
self.functest_logging_api = os.path.join(self.functest_repo_path,
"ci", "logging.ini")
@@ -41,16 +42,31 @@ class CommonConfig(object):
self.sfc_test_dir, "vnfd-default-params-file")
self.vnffgd_dir = os.path.join(self.sfc_test_dir, "vnffgd-templates")
self.functest_results_dir = os.path.join(
- CONST.dir_results, "odl-sfc")
- self.config_file = os.path.join(self.sfc_test_dir, "config.yaml")
+ getattr(config.CONF, 'dir_results'), "odl-sfc")
+
+ # We need to know the openstack version in order to use one config or
+ # another. For Pike we will use config-pike.yaml. Queens and Rocky
+ # will use config.yaml
+ if 'OPENSTACK_OSA_VERSION' in os.environ:
+ if os.environ['OPENSTACK_OSA_VERSION'] == 'stable/pike':
+ self.config_file = os.path.join(self.sfc_test_dir,
+ "config-pike.yaml")
+ else:
+ self.config_file = os.path.join(self.sfc_test_dir,
+ "config.yaml")
+ else:
+ self.config_file = os.path.join(self.sfc_test_dir,
+ "config-pike.yaml")
+
+ logger.info("The config file used is {}".format(self.config_file))
self.vim_file = os.path.join(self.sfc_test_dir, "register-vim.json")
- self.installer_type = CONST.__getattribute__('INSTALLER_TYPE')
+ self.installer_type = env.get('INSTALLER_TYPE')
self.installer_fields = test_utils.fill_installer_dict(
- self.installer_type)
+ self.installer_type)
- self.installer_ip = CONST.__getattribute__('INSTALLER_IP')
+ self.installer_ip = env.get('INSTALLER_IP')
self.installer_user = ft_utils.get_parameter_from_yaml(
self.installer_fields['user'], self.config_file)
@@ -58,19 +74,19 @@ class CommonConfig(object):
try:
self.installer_password = ft_utils.get_parameter_from_yaml(
self.installer_fields['password'], self.config_file)
- except:
+ except Exception:
self.installer_password = None
try:
self.installer_key_file = ft_utils.get_parameter_from_yaml(
self.installer_fields['pkey_file'], self.config_file)
- except:
+ except Exception:
self.installer_key_file = None
try:
self.installer_cluster = ft_utils.get_parameter_from_yaml(
self.installer_fields['cluster'], self.config_file)
- except:
+ except Exception:
self.installer_cluster = None
self.flavor = ft_utils.get_parameter_from_yaml(
@@ -87,8 +103,20 @@ class CommonConfig(object):
"defaults.image_format", self.config_file)
self.image_url = ft_utils.get_parameter_from_yaml(
"defaults.image_url", self.config_file)
- self.dir_functest_data = ft_utils.get_functest_config(
- "general.dir.functest_data")
+ try:
+ self.vnf_image_name = ft_utils.get_parameter_from_yaml(
+ "defaults.vnf_image_name", self.config_file)
+ self.vnf_image_url = ft_utils.get_parameter_from_yaml(
+ "defaults.vnf_image_url", self.config_file)
+ self.vnf_image_format = ft_utils.get_parameter_from_yaml(
+ "defaults.vnf_image_format", self.config_file)
+ except ValueError:
+ # If the parameter does not exist we use the default
+ self.vnf_image_name = self.image_name
+ self.vnf_image_url = self.image_url
+ self.vnf_image_format = self.image_format
+
+ self.dir_functest_data = getattr(config.CONF, 'dir_functest_data')
class TestcaseConfig(object):
@@ -104,7 +132,8 @@ class TestcaseConfig(object):
testcases_yaml = yaml.safe_load(f)
test_config = testcases_yaml['testcases'].get(testcase, None)
if test_config is None:
- logger.error('Test {0} configuration is not present in {1}'
- .format(testcase, common_config.config_file))
+ logger.error(
+ 'Test %s configuration is not present in %s',
+ testcase, common_config.config_file)
# Update class fields with configuration variables dynamically
self.__dict__.update(**test_config)