From 36e6709771aba807c2b844952d9e2e870a73ba10 Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Wed, 15 Jan 2014 16:01:03 -0600 Subject: [PATCH] Don't use pipelining when ANSIBLE_KEEP_REMOTE_FILES is enabled --- lib/ansible/runner/__init__.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index 821c6a5f81b..a3dcd8bd439 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