diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ansible/runner/__init__.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index 821c6a5f81..a3dcd8bd43 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -309,7 +309,8 @@ class Runner(object): if (module_style != 'new' or async_jid is not None - or not conn.has_pipelining): + or not conn.has_pipelining + or C.DEFAULT_KEEP_REMOTE_FILES): self._transfer_str(conn, tmp, module_name, module_data) environment_string = self._compute_environment_string(inject) @@ -352,7 +353,7 @@ class Runner(object): cmd = " ".join([str(x) for x in [remote_module_path, async_jid, async_limit, async_module, argsfile]]) else: if async_jid is None: - if conn.has_pipelining: + if conn.has_pipelining and not C.DEFAULT_KEEP_REMOTE_FILES: in_data = module_data else: cmd = "%s" % (remote_module_path) @@ -796,8 +797,9 @@ class Runner(object): if tmp.find("tmp") != -1: # tmp has already been created return False - if not conn.has_pipelining: + if not conn.has_pipelining or C.DEFAULT_KEEP_REMOTE_FILES: # tmp is necessary to store the module source code + # or we want to keep the files on the target system return True if module_style != "new": # even when conn has pipelining, old style modules need tmp to store arguments |