From c09d27bca10e0a90a4aad1f31a7e406d656a1311 Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Thu, 15 Jan 2015 12:03:13 -0500 Subject: [PATCH] handle json load errors as ansible error instead of ugly stacktrace --- lib/ansible/utils/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/ansible/utils/__init__.py b/lib/ansible/utils/__init__.py index 44db63e2769..2d7d443dcb9 100644 --- a/lib/ansible/utils/__init__.py +++ b/lib/ansible/utils/__init__.py @@ -462,8 +462,12 @@ def role_yaml_parse(role): def json_loads(data): ''' parse a JSON string and return a data structure ''' + try: + loaded = json.loads(data) + except ValueError,e: + raise errors.AnsibleError("Unable to read provided data as JSON: %s" % str(e)) - return json.loads(data) + return loaded def _clean_data(orig_data, from_remote=False, from_inventory=False): ''' remove jinja2 template tags from a string '''