deal with remote_src and tmp dirs properly

fixes #20128
This commit is contained in:
Brian Coca 2017-01-11 20:32:44 -05:00 committed by Brian Coca
parent 02b548dba2
commit 8c6b5621f8
2 changed files with 6 additions and 7 deletions

View file

@ -103,13 +103,8 @@ class ActionModule(ActionBase):
return result
remote_user = task_vars.get('ansible_ssh_user') or self._play_context.remote_user
if not tmp:
tmp = self._make_tmp_path(remote_user)
self._cleanup_remote_tmp = True
if boolean(remote_src):
result.update(self._execute_module(tmp=tmp, task_vars=task_vars, delete_remote_tmp=False))
self._remove_tmp_path(tmp)
result.update(self._execute_module(tmp=tmp, task_vars=task_vars))
return result
else:
try:
@ -119,6 +114,10 @@ class ActionModule(ActionBase):
result['msg'] = to_native(e)
return result
if not tmp:
tmp = self._make_tmp_path(remote_user)
self._cleanup_remote_tmp = True
if not os.path.isdir(src):
result['failed'] = True
result['msg'] = u"Source (%s) is not a directory" % src

View file

@ -87,7 +87,7 @@ class ActionModule(ActionBase):
# if we have first_available_file in our vars
# look up the files and use the first one we find as src
elif remote_src:
result.update(self._execute_module(module_name='copy', module_args=self._task.args, task_vars=task_vars, delete_remote_tmp=False))
result.update(self._execute_module(module_name='copy', module_args=self._task.args, task_vars=task_vars))
return result
else: # find in expected paths
try: