From 0c4a7492bf6a62f7d84cb52f4ce9989f928f8b6d Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Mon, 15 Sep 2014 11:29:04 -0500 Subject: [PATCH] Ensure checkmode is honored for templates that haven't changed Fixes #8998 --- lib/ansible/runner/action_plugins/template.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/ansible/runner/action_plugins/template.py b/lib/ansible/runner/action_plugins/template.py index b16e5f66e6..0348035bf5 100644 --- a/lib/ansible/runner/action_plugins/template.py +++ b/lib/ansible/runner/action_plugins/template.py @@ -132,5 +132,12 @@ class ActionModule(object): res.diff = dict(before=dest_contents, after=resultant) return res else: + # if we're running in check mode, we still want the file module + # to execute, since we can't know if anything would be changed here, + # so we inject the check mode param into the module args and rely on + # the file module to report its changed status + if self.runner.noop_on_check(inject): + new_module_args = dict(CHECKMODE=True) + module_args = utils.merge_module_args(module_args, new_module_args) return self.runner._execute_module(conn, tmp, 'file', module_args, inject=inject, complex_args=complex_args)