diff --git a/lib/ansible/runner/action_plugins/copy.py b/lib/ansible/runner/action_plugins/copy.py index 30b3d4ffa8c..8dfb42ee2d7 100644 --- a/lib/ansible/runner/action_plugins/copy.py +++ b/lib/ansible/runner/action_plugins/copy.py @@ -243,7 +243,8 @@ class ActionModule(object): dest=dest, original_basename=source_rel ) - + if self.runner.noop_on_check(inject): + new_module_args['CHECKMODE'] = True if self.runner.no_log: new_module_args['NO_LOG'] = True diff --git a/lib/ansible/utils/__init__.py b/lib/ansible/utils/__init__.py index 8a8ebda7b40..fbceb937409 100644 --- a/lib/ansible/utils/__init__.py +++ b/lib/ansible/utils/__init__.py @@ -484,6 +484,8 @@ def merge_module_args(current_args, new_args): for (k,v) in final_args.iteritems(): if isinstance(v, basestring): module_args = "%s=%s %s" % (k, pipes.quote(v), module_args) + elif isinstance(v, bool): + module_args = "%s=%s %s" % (k, str(v), module_args) return module_args.strip() def parse_yaml(data, path_hint=None): diff --git a/library/files/copy b/library/files/copy index 3c2a5da16aa..e3efb50a5ec 100644 --- a/library/files/copy +++ b/library/files/copy @@ -145,6 +145,7 @@ def main(): directory_mode = dict(required=False) ), add_file_common_args=True, + supports_check_mode=True, ) src = os.path.expanduser(module.params['src'])