Added handling for minion return exceptions containing the word "return"

This commit is contained in:
Ethan Culler-Mayeno 2018-10-23 15:24:19 -07:00
parent ce341f2424
commit a4e54d76b7
No known key found for this signature in database
GPG Key ID: 30AE6C1F3961880D

View File

@ -1283,6 +1283,13 @@ class LocalClient(object):
if raw['data']['return'] == {}:
continue
# if the minion throws an exception containing the word "return"
# the master will try to handle the string as a dict in the next
# step. Check if we have a string, log the issue and continue.
if isinstance(raw['data']['return'], six.string_types):
log.error("unexpected return from minion: %s", raw)
continue
if 'return' in raw['data']['return'] and \
raw['data']['return']['return'] == {}:
continue