summaryrefslogtreecommitdiffstats
path: root/dovetail/conf/dovetail_config.py
diff options
context:
space:
mode:
Diffstat (limited to 'dovetail/conf/dovetail_config.py')
-rw-r--r--dovetail/conf/dovetail_config.py36
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])