summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dovetail/conf/dovetail_config.yml3
-rwxr-xr-xdovetail/run.py9
-rw-r--r--dovetail/utils/dovetail_utils.py4
3 files changed, 11 insertions, 5 deletions
diff --git a/dovetail/conf/dovetail_config.yml b/dovetail/conf/dovetail_config.yml
index 332628a2..ec1f5254 100644
--- a/dovetail/conf/dovetail_config.yml
+++ b/dovetail/conf/dovetail_config.yml
@@ -1,7 +1,8 @@
---
-report_file: 'dovetail_report.txt'
+# report_file: 'dovetail_report.txt'
cli_file_name: 'cmd_config.yml'
report_dest: 'file'
+result_file: 'results.json'
# OPENSTACK Credential file
openrc: '/home/opnfv/dovetail/openrc.sh'
diff --git a/dovetail/run.py b/dovetail/run.py
index 4bea9b53..5b4dca8e 100755
--- a/dovetail/run.py
+++ b/dovetail/run.py
@@ -74,17 +74,20 @@ def check_tc_result(testcase, logger):
result_dir = dt_cfg.dovetail_config['result_dir']
validate_type = testcase.validate_type()
functest_result = dt_cfg.dovetail_config['functest']['result']['file_path']
+ dovetail_result = os.path.join(result_dir,
+ dt_cfg.dovetail_config['result_file'])
if dt_cfg.dovetail_config['report_dest'].startswith("http"):
if validate_type.lower() == 'yardstick':
logger.info("Results have been stored with file %s.",
os.path.join(result_dir,
testcase.validate_testcase() + '.out'))
else:
- if dt_utils.check_db_results(dt_cfg.dovetail_config['report_dest'],
+ if dt_utils.store_db_results(dt_cfg.dovetail_config['report_dest'],
dt_cfg.dovetail_config['build_tag'],
- testcase.name(),
+ testcase.name(), dovetail_result,
logger):
- logger.info("Results have been pushed to database.")
+ logger.info("Results have been pushed to database and stored "
+ "with local file %s.", dovetail_result)
else:
logger.error("Fail to push results to database.")
if dt_cfg.dovetail_config['report_dest'] == "file":
diff --git a/dovetail/utils/dovetail_utils.py b/dovetail/utils/dovetail_utils.py
index 83390e9d..e6a775f1 100644
--- a/dovetail/utils/dovetail_utils.py
+++ b/dovetail/utils/dovetail_utils.py
@@ -132,12 +132,14 @@ def get_ext_net_name(env_file, logger=None):
return None
-def check_db_results(db_url, build_tag, testcase, logger):
+def store_db_results(db_url, build_tag, testcase, dest_file, logger):
url = "%s?build_tag=%s-%s" % (db_url, build_tag, testcase)
logger.debug("Query to rest api: %s", url)
try:
data = json.load(urllib2.urlopen(url))
if data['results']:
+ with open(dest_file, 'a') as f:
+ f.write(json.dumps(data['results'][0]) + '\n')
return True
else:
return False