summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToshio Kuratomi <a.badger@gmail.com>2016-02-05 09:39:04 -0800
committerToshio Kuratomi <a.badger@gmail.com>2016-02-05 09:39:04 -0800
commit42064446c4e7ce9ebd7bf2a764e9cfdc88b18d27 (patch)
treedb101512bc1b133f361fb69c21f701a2414ccb71
parentf0c1058b7b655147ce619a9f7dd073450f4cb175 (diff)
parent0bcbcb20b01b40c7e525890e9127088e43d2e842 (diff)
downloadansible-42064446c4e7ce9ebd7bf2a764e9cfdc88b18d27.tar.gz
Merge pull request #14339 from ansible/diff-no_log-fix
Fix --diff to respect no_log task parameter.
-rw-r--r--lib/ansible/runner/action_plugins/assemble.py3
-rw-r--r--lib/ansible/runner/action_plugins/copy.py2
-rw-r--r--lib/ansible/runner/action_plugins/template.py4
-rw-r--r--lib/ansible/runner/action_plugins/win_copy.py3
-rw-r--r--lib/ansible/runner/action_plugins/win_template.py4
5 files changed, 16 insertions, 0 deletions
diff --git a/lib/ansible/runner/action_plugins/assemble.py b/lib/ansible/runner/action_plugins/assemble.py
index 33a4838e32..171d570a43 100644
--- a/lib/ansible/runner/action_plugins/assemble.py
+++ b/lib/ansible/runner/action_plugins/assemble.py
@@ -136,6 +136,9 @@ class ActionModule(object):
)
module_args_tmp = utils.merge_module_args(module_args, new_module_args)
+ if self.runner.no_log:
+ resultant = " [[ Diff output has been hidden because 'no_log: true' was specified for this result ]]"
+
if self.runner.noop_on_check(inject):
return ReturnData(conn=conn, comm_ok=True, result=dict(changed=True), diff=dict(before_header=dest, after_header=src, after=resultant))
else:
diff --git a/lib/ansible/runner/action_plugins/copy.py b/lib/ansible/runner/action_plugins/copy.py
index a6a5cb5a27..af0ad7189d 100644
--- a/lib/ansible/runner/action_plugins/copy.py
+++ b/lib/ansible/runner/action_plugins/copy.py
@@ -366,6 +366,8 @@ class ActionModule(object):
diff['after_header'] = source
diff['after'] = src.read()
+ if self.runner.no_log and 'after' in diff:
+ diff["after"] = " [[ Diff output has been hidden because 'no_log: true' was specified for this result ]]"
return diff
def _remove_tempfile_if_content_defined(self, content, content_tempfile):
diff --git a/lib/ansible/runner/action_plugins/template.py b/lib/ansible/runner/action_plugins/template.py
index a824a6e4b8..b0f48595c7 100644
--- a/lib/ansible/runner/action_plugins/template.py
+++ b/lib/ansible/runner/action_plugins/template.py
@@ -146,10 +146,14 @@ class ActionModule(object):
module_args_tmp = utils.merge_module_args(module_args, new_module_args)
if self.runner.noop_on_check(inject):
+ if self.runner.no_log:
+ resultant = " [[ Diff output has been hidden because 'no_log: true' was specified for this result ]]"
return ReturnData(conn=conn, comm_ok=True, result=dict(changed=True), diff=dict(before_header=dest, after_header=source, before=dest_contents, after=resultant))
else:
res = self.runner._execute_module(conn, tmp, 'copy', module_args_tmp, inject=inject, complex_args=complex_args)
if res.result.get('changed', False):
+ if self.runner.no_log:
+ resultant = " [[ Diff output has been hidden because 'no_log: true' was specified for this result ]]"
res.diff = dict(before=dest_contents, after=resultant)
return res
else:
diff --git a/lib/ansible/runner/action_plugins/win_copy.py b/lib/ansible/runner/action_plugins/win_copy.py
index a62dfb9985..27c3a778e9 100644
--- a/lib/ansible/runner/action_plugins/win_copy.py
+++ b/lib/ansible/runner/action_plugins/win_copy.py
@@ -362,6 +362,9 @@ class ActionModule(object):
diff['after_header'] = source
diff['after'] = src.read()
+ if self.runner.no_log and 'after' in diff:
+ diff["after"] = " [[ Diff output has been hidden because 'no_log: true' was specified for this result ]]"
+
return diff
def _remove_tempfile_if_content_defined(self, content, content_tempfile):
diff --git a/lib/ansible/runner/action_plugins/win_template.py b/lib/ansible/runner/action_plugins/win_template.py
index 7bde4bd510..f085d7bde2 100644
--- a/lib/ansible/runner/action_plugins/win_template.py
+++ b/lib/ansible/runner/action_plugins/win_template.py
@@ -122,10 +122,14 @@ class ActionModule(object):
module_args_tmp = utils.merge_module_args(module_args, new_module_args)
if self.runner.noop_on_check(inject):
+ if self.runner.no_log and resultant:
+ resultant = " [[ Diff output has been hidden because 'no_log: true' was specified for this result ]]"
return ReturnData(conn=conn, comm_ok=True, result=dict(changed=True), diff=dict(before_header=dest, after_header=source, before=dest_contents, after=resultant))
else:
res = self.runner._execute_module(conn, tmp, 'win_copy', module_args_tmp, inject=inject, complex_args=complex_args)
if res.result.get('changed', False):
+ if self.runner.no_log and resultant:
+ resultant = " [[ Diff output has been hidden because 'no_log: true' was specified for this result ]]"
res.diff = dict(before=dest_contents, after=resultant)
return res
else: