mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
_chain_file_module() calls .get() on error string
runner._return_from_module() normally returns a list (?) of `[str,bool,dict,str]`, but on error it returns `[str,bool,str,str]`. runner._chain_file_module() then tries to call .get() on the third item (`data2`), which fails when it's a string. This patch only accesses `data2` if the return value was `ok`. It might be better to return consistent types in both cases, but I'm not sure where/how else the return value is used.
This commit is contained in:
parent
90a8893418
commit
b50c50748e
1 changed files with 5 additions and 2 deletions
|
@ -456,8 +456,11 @@ class Runner(object):
|
|||
(result2, err2, executed2) = self._execute_module(conn, tmp, module, args)
|
||||
results2 = self._return_from_module(conn, conn.host, result2, err2, executed)
|
||||
(host, ok, data2, err2) = results2
|
||||
if ok:
|
||||
new_changed = data2.get('changed', False)
|
||||
data.update(data2)
|
||||
else:
|
||||
new_changed = False
|
||||
if old_changed or new_changed:
|
||||
data['changed'] = True
|
||||
return (host, ok, data, "%s%s"%(err,err2))
|
||||
|
|
Loading…
Reference in a new issue