diff options
author | Brian Coca <bcoca@ansible.com> | 2015-08-07 10:22:05 -0400 |
---|---|---|
committer | Brian Coca <bcoca@ansible.com> | 2015-08-07 10:22:05 -0400 |
commit | 2b909b4eb5930ff0b57a2a3f056a89ae863763ff (patch) | |
tree | 770c5b4b84f80e0eb98495e414f1fde1ec8b5cfb | |
parent | 6e43065142b48ee8789afd95ef3e5b240d13e986 (diff) | |
parent | 74bf6704143947f3a2169d346fe151aac8a773ff (diff) | |
download | ansible-2b909b4eb5930ff0b57a2a3f056a89ae863763ff.tar.gz |
Merge pull request #11888 from zfil/fix-patch-plugin
patch runner action plugin in ansible 1.9.x is broken with remote source patch file
-rw-r--r-- | lib/ansible/runner/action_plugins/patch.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/ansible/runner/action_plugins/patch.py b/lib/ansible/runner/action_plugins/patch.py index dbba4c53dd..8c9ed92b79 100644 --- a/lib/ansible/runner/action_plugins/patch.py +++ b/lib/ansible/runner/action_plugins/patch.py @@ -16,6 +16,7 @@ import os from ansible import utils +import ansible.constants as C from ansible.runner.return_data import ReturnData class ActionModule(object): @@ -32,7 +33,7 @@ class ActionModule(object): src = options.get('src', None) dest = options.get('dest', None) - remote_src = utils.boolean(options.get('remote_src', 'yes')) + remote_src = utils.boolean(options.get('remote_src', 'no')) if src is None: result = dict(failed=True, msg="src is required") @@ -47,12 +48,13 @@ class ActionModule(object): else: src = utils.path_dwim(self.runner.basedir, src) - tmp_src = tmp + src + tmp_path = self.runner._make_tmp_path(conn) + tmp_src = tmp_path + 'patch_source' conn.put_file(src, tmp_src) if self.runner.become and self.runner.become_user != 'root': if not self.runner.noop_on_check(inject): - self.runner._remote_chmod(conn, 'a+r', tmp_src, tmp) + self.runner._remote_chmod(conn, 'a+r', tmp_src, tmp_path) new_module_args = dict( src=tmp_src, @@ -63,4 +65,8 @@ class ActionModule(object): module_args = utils.merge_module_args(module_args, new_module_args) - return self.runner._execute_module(conn, tmp, 'patch', module_args, inject=inject, complex_args=complex_args) + data = self.runner._execute_module(conn, tmp, 'patch', module_args, inject=inject, complex_args=complex_args) + if not C.DEFAULT_KEEP_REMOTE_FILES: + self.runner._remove_tmp_path(conn, tmp_path) + + return data |