Try to be more helpful when JSON gives up (#45600)

* Try to be more helpful when JSON gives up
pull/46103/head
Nathaniel Case 6 years ago committed by GitHub
parent 7caf70db42
commit 03d8fa05b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -142,6 +142,27 @@ class Connection(object):
try: try:
data = json.dumps(req) data = json.dumps(req)
except TypeError as exc:
data = req.get('params')
if isinstance(data, dict):
data = data.get('var_options', {})
for key, value in iteritems(data):
try:
dummy = json.dumps(value)
except TypeError:
raise ConnectionError(
"Failed to encode some variables as JSON for communication with ansible-connection. "
"Please open an issue and mention that the culprit is most likely '%s'" % key
)
raise ConnectionError(
"Failed to encode some variables as JSON for communication with ansible-connection. "
"The original exception was: %s" % to_text(exc)
)
try:
out = self.send(data) out = self.send(data)
response = json.loads(out) response = json.loads(out)

Loading…
Cancel
Save