diff options
Diffstat (limited to 'sfc/lib/config.py')
-rw-r--r-- | sfc/lib/config.py | 111 |
1 files changed, 67 insertions, 44 deletions
diff --git a/sfc/lib/config.py b/sfc/lib/config.py index a4f5d67b..bf9864a5 100644 --- a/sfc/lib/config.py +++ b/sfc/lib/config.py @@ -8,19 +8,19 @@ # http://www.apache.org/licenses/LICENSE-2.0 # + import logging import os +import sfc import yaml import functest - -from functest.utils import config -from functest.utils import env import functest.utils.functest_utils as ft_utils - -import sfc import sfc.lib.test_utils as test_utils +from functest.utils import config +from functest.utils import env + logger = logging.getLogger(__name__) @@ -43,50 +43,58 @@ class CommonConfig(object): self.vnffgd_dir = os.path.join(self.sfc_test_dir, "vnffgd-templates") self.functest_results_dir = os.path.join( 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") - + self.config_file = os.path.join(self.sfc_test_dir, "config.yaml") self.vim_file = os.path.join(self.sfc_test_dir, "register-vim.json") - self.installer_type = env.get('INSTALLER_TYPE') - - self.installer_fields = test_utils.fill_installer_dict( - self.installer_type) - - self.installer_ip = env.get('INSTALLER_IP') + pod_yaml_exists = os.path.isfile(self.sfc_test_dir + "/pod.yaml") - self.installer_user = ft_utils.get_parameter_from_yaml( - self.installer_fields['user'], self.config_file) + if pod_yaml_exists: + self.pod_file = os.path.join(self.sfc_test_dir, "pod.yaml") + self.nodes_pod = ft_utils.get_parameter_from_yaml( + "nodes", self.pod_file) + self.host_ip = self.nodes_pod[0]['ip'] + self.host_user = self.nodes_pod[0]['user'] - try: - self.installer_password = ft_utils.get_parameter_from_yaml( - self.installer_fields['password'], self.config_file) - 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 Exception: - self.installer_key_file = None - - try: - self.installer_cluster = ft_utils.get_parameter_from_yaml( - self.installer_fields['cluster'], self.config_file) - except Exception: + self.installer_type = 'configByUser' + self.installer_ip = self.host_ip + self.installer_user = self.host_user self.installer_cluster = None + try: + self.installer_password = self.host_ip[0]['password'] + except Exception: + self.installer_password = None + + try: + self.installer_key_file = self.host_ip[0]['key_filename'] + except Exception: + self.installer_key_file = None + else: + self.nodes_pod = None + self.host_ip = None + self.installer_type = env.get('INSTALLER_TYPE') + self.installer_fields = test_utils.fill_installer_dict( + self.installer_type) + self.installer_ip = env.get('INSTALLER_IP') + self.installer_user = ft_utils.get_parameter_from_yaml( + self.installer_fields['user'], self.config_file) + + try: + self.installer_password = ft_utils.get_parameter_from_yaml( + self.installer_fields['password'], self.config_file) + 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 Exception: + self.installer_key_file = None + + try: + self.installer_cluster = ft_utils.get_parameter_from_yaml( + self.installer_fields['cluster'], self.config_file) + except Exception: + self.installer_cluster = None self.flavor = ft_utils.get_parameter_from_yaml( "defaults.flavor", self.config_file) @@ -102,6 +110,21 @@ 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.mano_component = ft_utils.get_parameter_from_yaml( + "defaults.mano_component", self.config_file) + 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') |