win_copy: backport 2.5 preserve local tmp path when sending multiple files (#37977)

* win_copy: added fix for win_copy deleting local tmp folder (#37964)

(cherry picked from commit b1ac65d95a)

* Added changelog fragment
pull/38238/head
Jordan Borean 7 years ago committed by GitHub
parent 886a88a967
commit 800980ec83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,3 @@
bugfixes:
- win_copy - Preserve the local tmp folder instead of deleting it so future tasks can use it
https://github.com/ansible/ansible/pull/37964

@ -11,6 +11,7 @@ import base64
import json
import os
import os.path
import shutil
import tempfile
import traceback
import zipfile
@ -320,12 +321,10 @@ class ActionModule(ActionBase):
)
)
copy_args.pop('content', None)
os.remove(zip_path)
module_return = self._execute_module(module_name='copy',
module_args=copy_args,
task_vars=task_vars)
os.removedirs(os.path.dirname(zip_path))
shutil.rmtree(os.path.dirname(zip_path))
return module_return
def run(self, tmp=None, task_vars=None):

@ -5,6 +5,16 @@
state: directory
delegate_to: localhost
# removes the cached zip module from the previous task so we can replicate
# the below issue where win_copy would delete DEFAULT_LOCAL_TMP if it
# had permission to
# https://github.com/ansible/ansible/issues/35613
- name: clear the local ansiballz cache
file:
path: "{{lookup('config', 'DEFAULT_LOCAL_TMP')}}/ansiballz_cache"
state: absent
delegate_to: localhost
- name: create test folder
win_file:
path: '{{test_win_copy_path}}'

Loading…
Cancel
Save