When tempdir fails to be created, we have nothng to remove

This commit should get us a better error traceback when things do go
wrong.

References #35613
pull/35806/head
Toshio Kuratomi 6 years ago
parent 54882d4715
commit 8a2bda0e06

@ -134,9 +134,11 @@ class ActionModule(ActionBase):
new_task.args.pop('variable_start_string', None) new_task.args.pop('variable_start_string', None)
new_task.args.pop('variable_end_string', None) new_task.args.pop('variable_end_string', None)
new_task.args.pop('trim_blocks', None) new_task.args.pop('trim_blocks', None)
local_tempdir = tempfile.mkdtemp(dir=C.DEFAULT_LOCAL_TMP)
try: try:
tempdir = tempfile.mkdtemp(dir=C.DEFAULT_LOCAL_TMP) result_file = os.path.join(local_tempdir, os.path.basename(source))
result_file = os.path.join(tempdir, os.path.basename(source))
with open(result_file, 'wb') as f: with open(result_file, 'wb') as f:
f.write(to_bytes(resultant, errors='surrogate_or_strict')) f.write(to_bytes(resultant, errors='surrogate_or_strict'))
@ -156,7 +158,8 @@ class ActionModule(ActionBase):
shared_loader_obj=self._shared_loader_obj) shared_loader_obj=self._shared_loader_obj)
result.update(copy_action.run(task_vars=task_vars, tmp=tmp)) result.update(copy_action.run(task_vars=task_vars, tmp=tmp))
finally: finally:
shutil.rmtree(tempdir) shutil.rmtree(local_tempdir)
except AnsibleAction as e: except AnsibleAction as e:
result.update(e.result) result.update(e.result)
finally: finally:

Loading…
Cancel
Save