diff options
Diffstat (limited to 'utils/functest_utils.py')
-rw-r--r-- | utils/functest_utils.py | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/utils/functest_utils.py b/utils/functest_utils.py index 807a671a..4d5004cb 100644 --- a/utils/functest_utils.py +++ b/utils/functest_utils.py @@ -214,24 +214,51 @@ def push_results_to_db(project, case_name, logger, "build_tag": build_tag, "start_date": test_start, "stop_date": test_stop, "details": details} + error = None headers = {'Content-Type': 'application/json'} try: r = requests.post(url, data=json.dumps(params), headers=headers) if logger: logger.debug(r) r.raise_for_status() + except requests.RequestException as exc: + if 'r' in locals(): + error = ("Pushing Result to DB(%s) failed: %s" % + (r.url, r.content)) + else: + error = ("Pushing Result to DB(%s) failed: %s" % (url, exc)) + except Exception as e: + error = ("Error [push_results_to_db(" + "DB: '%(db)s', " + "project: '%(project)s', " + "case: '%(case)s', " + "pod: '%(pod)s', " + "version: '%(v)s', " + "scenario: '%(s)s', " + "criteria: '%(c)s', " + "build_tag: '%(t)s', " + "details: '%(d)s')]: " + "%(error)s" % + { + 'db': url, + 'project': project, + 'case': case_name, + 'pod': pod_name, + 'v': version, + 's': scenario, + 'c': criteria, + 't': build_tag, + 'd': details, + 'error': e + }) + finally: + if error: + if logger: + logger.error(error) + else: + print error + return False return True - except requests.RequestException: - if logger: - logger.error("Pushing Result to DB(%s) failed: %s" % - (r.url, r.content)) - return False - except Exception, e: - print("Error [push_results_to_db('%s', '%s', '%s', '%s'," - "'%s', '%s', '%s', '%s', '%s')]:" % - (url, project, case_name, pod_name, version, - scenario, criteria, build_tag, details)), e - return False def get_resolvconf_ns(): |