summaryrefslogtreecommitdiffstats
path: root/scripts/mongo_to_elasticsearch.py
diff options
context:
space:
mode:
authorSerenaFeng <feng.xiaowei@zte.com.cn>2016-09-05 10:11:21 +0800
committerSerenaFeng <feng.xiaowei@zte.com.cn>2016-09-05 10:11:21 +0800
commit2157ee77e9827aa134ce2042276986f3d3523e9a (patch)
tree0d0486c340ec50b00ffda66340ee0f450166552a /scripts/mongo_to_elasticsearch.py
parentb9f749d155051b90d0fefde2f5c0daff1970fcd2 (diff)
make mongo_to_elasticsearch.py skip resolve-failed results
mongo_to_elasticsearch.py exit when encounter can-not-be-parsed results, for example: File "mongo_to_elasticsearch.py", line 58, in _convert_duration hours, minutes, seconds = duration.split(":") ValueError: need more than 2 values to unpack File "mongo_to_elasticsearch.py", line 228, in modify_functest_odl test_statuses = _get_dicts_from_list(testcase, testcase['details']['details'], KeyError: 'details' change the logic, try...Except the Exception, logger it as error, then continue processing the rest results Change-Id: I18facd457ba3e8f661f5c9a1da1e6c200af6fc4e Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
Diffstat (limited to 'scripts/mongo_to_elasticsearch.py')
-rw-r--r--scripts/mongo_to_elasticsearch.py42
1 files changed, 24 insertions, 18 deletions
diff --git a/scripts/mongo_to_elasticsearch.py b/scripts/mongo_to_elasticsearch.py
index 2ffbc17..ded58ef 100644
--- a/scripts/mongo_to_elasticsearch.py
+++ b/scripts/mongo_to_elasticsearch.py
@@ -1,13 +1,16 @@
#! /usr/bin/env python
-import logging
-import argparse
-import shared_utils
+import datetime
import json
-import urlparse
-import uuid
+import logging
import os
import subprocess
-import datetime
+import traceback
+import urlparse
+import uuid
+
+import argparse
+
+import shared_utils
logger = logging.getLogger('mongo_to_elasticsearch')
logger.setLevel(logging.DEBUG)
@@ -370,18 +373,21 @@ def modify_mongo_entry(testcase):
project = testcase['project_name']
case_name = testcase['case_name']
logger.info("Processing mongo test case '{}'".format(case_name))
- if project == 'functest':
- if case_name == 'rally_sanity':
- return modify_functest_rally(testcase)
- elif case_name.lower() == 'odl':
- return modify_functest_odl(testcase)
- elif case_name.lower() == 'onos':
- return modify_functest_onos(testcase)
- elif case_name.lower() == 'vims':
- return modify_functest_vims(testcase)
- elif case_name == 'tempest_smoke_serial':
- return modify_functest_tempest(testcase)
- return modify_default_entry(testcase)
+ try:
+ if project == 'functest':
+ if case_name == 'rally_sanity':
+ return modify_functest_rally(testcase)
+ elif case_name.lower() == 'odl':
+ return modify_functest_odl(testcase)
+ elif case_name.lower() == 'onos':
+ return modify_functest_onos(testcase)
+ elif case_name.lower() == 'vims':
+ return modify_functest_vims(testcase)
+ elif case_name == 'tempest_smoke_serial':
+ return modify_functest_tempest(testcase)
+ return modify_default_entry(testcase)
+ except Exception:
+ logger.error("Fail in modify testcase[%s]\nerror message: %s" % (testcase, traceback.format_exc()))
else:
return False