mirror of
https://github.com/ansible-collections/ansible.posix.git
synced 2026-01-11 23:25:28 +01:00
Bugfix for #17492.
This commit is contained in:
parent
6343dbdcff
commit
931326fb70
1 changed files with 11 additions and 9 deletions
|
|
@ -33,7 +33,13 @@ class ActionModule(ActionBase):
|
||||||
def _get_absolute_path(self, path):
|
def _get_absolute_path(self, path):
|
||||||
original_path = path
|
original_path = path
|
||||||
|
|
||||||
if path.startswith('rsync://'):
|
#
|
||||||
|
# Check if we have a local relative path and do not process
|
||||||
|
# * remote paths (some.server.domain:/some/remote/path/...)
|
||||||
|
# * URLs (rsync://...)
|
||||||
|
# * local absolute paths (/some/local/path/...)
|
||||||
|
#
|
||||||
|
if ':' in path or path.startswith('/'):
|
||||||
return path
|
return path
|
||||||
|
|
||||||
if self._task._role is not None:
|
if self._task._role is not None:
|
||||||
|
|
@ -73,8 +79,7 @@ class ActionModule(ActionBase):
|
||||||
if host not in C.LOCALHOST:
|
if host not in C.LOCALHOST:
|
||||||
return self._format_rsync_rsh_target(host, path, user)
|
return self._format_rsync_rsh_target(host, path, user)
|
||||||
|
|
||||||
if ':' not in path and not path.startswith('/'):
|
path = self._get_absolute_path(path=path)
|
||||||
path = self._get_absolute_path(path=path)
|
|
||||||
return path
|
return path
|
||||||
|
|
||||||
def _process_remote(self, task_args, host, path, user, port_matches_localhost_port):
|
def _process_remote(self, task_args, host, path, user, port_matches_localhost_port):
|
||||||
|
|
@ -103,8 +108,7 @@ class ActionModule(ActionBase):
|
||||||
task_args['_substitute_controller'] = True
|
task_args['_substitute_controller'] = True
|
||||||
return self._format_rsync_rsh_target(host, path, user)
|
return self._format_rsync_rsh_target(host, path, user)
|
||||||
|
|
||||||
if ':' not in path and not path.startswith('/'):
|
path = self._get_absolute_path(path=path)
|
||||||
path = self._get_absolute_path(path=path)
|
|
||||||
return path
|
return path
|
||||||
|
|
||||||
def _override_module_replaced_vars(self, task_vars):
|
def _override_module_replaced_vars(self, task_vars):
|
||||||
|
|
@ -348,10 +352,8 @@ class ActionModule(ActionBase):
|
||||||
else:
|
else:
|
||||||
# Still need to munge paths (to account for roles) even if we aren't
|
# Still need to munge paths (to account for roles) even if we aren't
|
||||||
# copying files between hosts
|
# copying files between hosts
|
||||||
if not src.startswith('/'):
|
src = self._get_absolute_path(path=src)
|
||||||
src = self._get_absolute_path(path=src)
|
dest = self._get_absolute_path(path=dest)
|
||||||
if not dest.startswith('/'):
|
|
||||||
dest = self._get_absolute_path(path=dest)
|
|
||||||
|
|
||||||
_tmp_args['src'] = src
|
_tmp_args['src'] = src
|
||||||
_tmp_args['dest'] = dest
|
_tmp_args['dest'] = dest
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue