Properly wrap objects using json default encoder

Our custom encoder for the to_json filter was simply returning the
object if it was not a HostVars object, leading in some cases to a
TypeError when the data contained an undefined variable. This lead
to an odd error message being propagated up, so we now properly catch
this as an undefined variable error.

Fixes #15610
This commit is contained in:
James Cammarata
2016-06-23 09:17:06 -05:00
parent dae0b833f5
commit c24c0f5f6b
2 changed files with 3 additions and 3 deletions

View File

@@ -68,7 +68,7 @@ class AnsibleJSONEncoder(json.JSONEncoder):
if isinstance(o, HostVars):
return dict(o)
else:
return o
return json.JSONEncoder.default(o)
def to_yaml(a, *args, **kw):
'''Make verbose, human readable yaml'''