diff options
-rw-r--r-- | dovetail/conf/dovetail_config.yml | 3 | ||||
-rwxr-xr-x | dovetail/run.py | 9 | ||||
-rw-r--r-- | dovetail/utils/dovetail_utils.py | 4 |
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 |