uri: do not write the file after failure (#53515)
* uri: do not write the file after failure Fixes #53491 * Add changelog
This commit is contained in:
parent
6a2b9c2a86
commit
bafa291af9
3 changed files with 29 additions and 5 deletions
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- uri - do not write the file after failure (https://github.com/ansible/ansible/issues/53491)
|
|
@ -599,12 +599,11 @@ def main():
|
||||||
dict_headers, socket_timeout)
|
dict_headers, socket_timeout)
|
||||||
resp['elapsed'] = (datetime.datetime.utcnow() - start).seconds
|
resp['elapsed'] = (datetime.datetime.utcnow() - start).seconds
|
||||||
resp['status'] = int(resp['status'])
|
resp['status'] = int(resp['status'])
|
||||||
|
resp['changed'] = False
|
||||||
|
|
||||||
# Write the file out if requested
|
# Write the file out if requested
|
||||||
if dest is not None:
|
if dest is not None:
|
||||||
if resp['status'] == 304:
|
if resp['status'] in status_code and resp['status'] != 304:
|
||||||
resp['changed'] = False
|
|
||||||
else:
|
|
||||||
write_file(module, url, dest, content, resp)
|
write_file(module, url, dest, content, resp)
|
||||||
# allow file attribute changes
|
# allow file attribute changes
|
||||||
resp['changed'] = True
|
resp['changed'] = True
|
||||||
|
@ -613,8 +612,6 @@ def main():
|
||||||
file_args['path'] = dest
|
file_args['path'] = dest
|
||||||
resp['changed'] = module.set_fs_attributes_if_different(file_args, resp['changed'])
|
resp['changed'] = module.set_fs_attributes_if_different(file_args, resp['changed'])
|
||||||
resp['path'] = dest
|
resp['path'] = dest
|
||||||
else:
|
|
||||||
resp['changed'] = False
|
|
||||||
|
|
||||||
# Transmogrify the headers, replacing '-' with '_', since variables don't
|
# Transmogrify the headers, replacing '-' with '_', since variables don't
|
||||||
# work with dashes.
|
# work with dashes.
|
||||||
|
|
|
@ -514,6 +514,31 @@
|
||||||
that:
|
that:
|
||||||
- result.json.json[0] == 'JSON Test Pattern pass1'
|
- result.json.json[0] == 'JSON Test Pattern pass1'
|
||||||
|
|
||||||
|
- name: Create a testing file
|
||||||
|
copy:
|
||||||
|
content: "content"
|
||||||
|
dest: "{{ output_dir }}/output"
|
||||||
|
|
||||||
|
- name: Download a file from non existing location
|
||||||
|
uri:
|
||||||
|
url: http://does/not/exist
|
||||||
|
dest: "{{ output_dir }}/output"
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
- name: Save testing file's output
|
||||||
|
command: "cat {{ output_dir }}/output"
|
||||||
|
register: file_out
|
||||||
|
|
||||||
|
- name: Test the testing file was not overwritten
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "'content' in file_out.stdout"
|
||||||
|
|
||||||
|
- name: Clean up
|
||||||
|
file:
|
||||||
|
dest: "{{ output_dir }}/output"
|
||||||
|
state: absent
|
||||||
|
|
||||||
- name: Test follow_redirects=none
|
- name: Test follow_redirects=none
|
||||||
import_tasks: redirect-none.yml
|
import_tasks: redirect-none.yml
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue