Clear 'connection related' plugin vars for next loop iteration (#59024)
Fixes #58876
(cherry picked from commit a752e2a467
)
This commit is contained in:
parent
a2d6f9acd9
commit
5e7e9b57c0
2 changed files with 16 additions and 0 deletions
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- Do not re-use remote_user from previous loop iteration (https://github.com/ansible/ansible/issues/58876)
|
|
@ -410,6 +410,20 @@ class TaskExecutor:
|
|||
results.append(res)
|
||||
del task_vars[loop_var]
|
||||
|
||||
# clear 'connection related' plugin variables for next iteration
|
||||
if self._connection:
|
||||
clear_plugins = {
|
||||
'connection': self._connection._load_name,
|
||||
'shell': self._connection._shell._load_name
|
||||
}
|
||||
if self._connection.become:
|
||||
clear_plugins['become'] = self._connection.become._load_name
|
||||
|
||||
for plugin_type, plugin_name in iteritems(clear_plugins):
|
||||
for var in C.config.get_plugin_vars(plugin_type, plugin_name):
|
||||
if var in task_vars:
|
||||
del task_vars[var]
|
||||
|
||||
self._task.no_log = no_log
|
||||
|
||||
return results
|
||||
|
|
Loading…
Reference in a new issue