From 76947950b0196367768068ae31f85ca175b672fb Mon Sep 17 00:00:00 2001 From: xudan Date: Sun, 30 Sep 2018 02:44:07 -0400 Subject: Bugfix: There is an exception when crawling Yardstick results If there is no pod.yaml, the results data looks like, {"status": 2, "result": "[Errno 2] No such file or directory: u'/home/opnfv/userconfig/pre_config/pod.yaml'"} It will get an exception when reading value from file, File "/usr/local/lib/python2.7/dist-packages/dovetail/report.py", line 327, in crawl_from_file criteria = data['result']['criteria'] TypeError: string indices must be integers https://build.opnfv.org/ci/view/dovetail/job/dovetail-apex-baremetal-default-mandatory-master/52/console Change-Id: I73ca3e5ae73433a2dc139789df4d67e8c583be08 Signed-off-by: xudan --- dovetail/report.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dovetail/report.py b/dovetail/report.py index f1708574..be8d0827 100644 --- a/dovetail/report.py +++ b/dovetail/report.py @@ -324,7 +324,8 @@ class YardstickCrawler(Crawler): for jsonfile in f: data = json.loads(jsonfile) try: - criteria = data['result']['criteria'] + criteria = dt_utils.get_value_from_dict("result.criteria", + data) if criteria == 'PASS': valid_tc = testcase.validate_testcase() details = data['result']['testcases'][valid_tc] -- cgit 1.2.3-korg