diff options
author | selias <samelias@cisco.com> | 2017-02-07 13:39:31 +0100 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2017-02-15 05:10:34 +0000 |
commit | fd66ed704b43574b2dbe25d32fbf5e6575cbe29b (patch) | |
tree | 79aabaee9f9cd381d0dbb03a90d905d8f068b828 /resources/libraries/python/parsers/JsonParser.py | |
parent | 4df00930b5a2cf67f32682f44e0540819b9575af (diff) |
HC Test: Add temporary workaround for VAT issues on Ubuntu14.04
Some VAT commands return "error:misc" in addition to their normal
JSON output. This causes the JSON parser to complain about extra data.
Change-Id: I0da9739f371998dd6e2e6d6f70c1e8a3d82b6350
Signed-off-by: selias <samelias@cisco.com>
Diffstat (limited to 'resources/libraries/python/parsers/JsonParser.py')
-rw-r--r-- | resources/libraries/python/parsers/JsonParser.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/resources/libraries/python/parsers/JsonParser.py b/resources/libraries/python/parsers/JsonParser.py index 50a920bee0..ad6e1898d0 100644 --- a/resources/libraries/python/parsers/JsonParser.py +++ b/resources/libraries/python/parsers/JsonParser.py @@ -14,6 +14,7 @@ """Used to parse JSON files or JSON data strings to dictionaries""" import json +from os import uname class JsonParser(object): @@ -32,6 +33,23 @@ class JsonParser(object): :return: JSON data parsed as python list. :rtype: list """ + if "4.2.0-42-generic" in uname(): + # TODO: remove ugly workaround + # On Ubuntu14.04 the VAT console returns "error:misc" even after + # some commands execute correctly. This causes problems + # with parsing JSON data. + known_errors = ["sw_interface_dump error: Misc", + "lisp_eid_table_dump error: Misc", + "show_lisp_status error: Misc", + "lisp_map_resolver_dump error: Misc", + "show_lisp_pitr error: Misc", + "snat_static_mapping_dump error: Misc", + ] + for item in known_errors: + if item in json_data: + json_data = json_data.replace(item, "") + print("Removing API error: *{0}* " + "from JSON output.".format(item)) parsed_data = json.loads(json_data) return parsed_data |