diff options
Diffstat (limited to 'dovetail/conf/dovetail_config.py')
-rw-r--r-- | dovetail/conf/dovetail_config.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/dovetail/conf/dovetail_config.py b/dovetail/conf/dovetail_config.py index 6f3eebf2..03d0bb78 100644 --- a/dovetail/conf/dovetail_config.py +++ b/dovetail/conf/dovetail_config.py @@ -9,6 +9,7 @@ import yaml import os +import re CERT_PATH = './cert/' TESTCASE_PATH = './testcase/' @@ -27,3 +28,38 @@ container_config = {} container_config['functest'] = dovetail_config['functest'] container_config['yardstick'] = dovetail_config['yardstick'] + + +with open(os.path.join(curr_path, dovetail_config['cli_file_name'])) as f: + cmd_yml = yaml.safe_load(f) + dovetail_config['cli'] = cmd_yml[cmd_yml.keys()[0]] + + +def cmd_name_trans(cmd_name): + key = cmd_name.upper() + if key == 'SUT_TYPE': + key = 'INSTALLER_TYPE' + if key == 'SUT_IP': + key = 'INSTALLER_IP' + return key + + +def update_envs(options): + for item in options: + if options[item] is not None: + key = cmd_name_trans(item) + os.environ[key] = options[item] + update_config_envs('functest', key) + update_config_envs('yardstick', key) + + +def update_config_envs(script_type, key): + old_value = re.findall(r'\s+%s=(.*?)(\s+|$)' % key, + dovetail_config[script_type]['envs']) + if old_value == []: + dovetail_config[script_type]['envs'] += \ + ' -e ' + key + '=' + os.environ[key] + else: + dovetail_config[script_type]['envs'] = \ + dovetail_config[script_type]['envs'].replace(old_value[0][0], + os.environ[key]) |