diff --git a/lib/ansible/runner/action_plugins/copy.py b/lib/ansible/runner/action_plugins/copy.py index b180448988..bb579e48a8 100644 --- a/lib/ansible/runner/action_plugins/copy.py +++ b/lib/ansible/runner/action_plugins/copy.py @@ -192,6 +192,10 @@ class ActionModule(object): dest_file = conn.shell.join_path(dest, source_rel) remote_checksum = self.runner._remote_checksum(conn, tmp_path, dest_file, inject) + if remote_checksum == '4': + result = dict(msg="python isn't present on the system. Unable to compute checksum", failed=True) + return ReturnData(conn=conn, result=result) + if remote_checksum != '1' and not force: # remote_file does not exist so continue to next iteration. continue diff --git a/lib/ansible/runner/action_plugins/fetch.py b/lib/ansible/runner/action_plugins/fetch.py index 2fb6631536..3fa748ccbd 100644 --- a/lib/ansible/runner/action_plugins/fetch.py +++ b/lib/ansible/runner/action_plugins/fetch.py @@ -129,7 +129,7 @@ class ActionModule(object): elif remote_checksum == '3': result = dict(msg="remote file is a directory, fetch cannot work on directories", file=source, changed=False) elif remote_checksum == '4': - result = dict(msg="python isn't present on the remote system. Unable to fetch file", file=source, changed=False) + result = dict(msg="python isn't present on the system. Unable to compute checksum", file=source, changed=False) return ReturnData(conn=conn, result=result) # calculate checksum for the local file diff --git a/lib/ansible/runner/action_plugins/unarchive.py b/lib/ansible/runner/action_plugins/unarchive.py index b528a25a39..cfcaf454bd 100644 --- a/lib/ansible/runner/action_plugins/unarchive.py +++ b/lib/ansible/runner/action_plugins/unarchive.py @@ -83,6 +83,9 @@ class ActionModule(object): source = utils.path_dwim(self.runner.basedir, source) remote_checksum = self.runner._remote_checksum(conn, tmp, dest, inject) + if remote_checksum == '4': + result = dict(failed=True, msg="python isn't present on the system. Unable to compute checksum") + return ReturnData(conn=conn, result=result) if remote_checksum != '3': result = dict(failed=True, msg="dest '%s' must be an existing dir" % dest) return ReturnData(conn=conn, result=result)