diff options
author | Toshio Kuratomi <toshio@fedoraproject.org> | 2014-09-15 12:34:16 -0700 |
---|---|---|
committer | Toshio Kuratomi <toshio@fedoraproject.org> | 2014-09-15 12:36:52 -0700 |
commit | 17665d962b49c6c74cc43c9a9ed5292b7b9dea70 (patch) | |
tree | 1a9bcc541cc02c54af756fc03725270a32e7dfc6 /files | |
parent | 4094edf92f3297f9dc9ed6c9fafb674927e1908c (diff) | |
download | ansible-modules-extras-17665d962b49c6c74cc43c9a9ed5292b7b9dea70.tar.gz |
Do not keep a new file if we fail to set its attributes.
Diffstat (limited to 'files')
-rw-r--r-- | files/file | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -331,8 +331,16 @@ def main(): module.fail_json(path=path, msg='Error while touching existing target: %s' % str(e)) else: module.fail_json(msg='Cannot touch other than files and directories') - - module.set_fs_attributes_if_different(file_args, True) + try: + module.set_fs_attributes_if_different(file_args, True) + except SystemExit as e: + if e.code: + # We take this to mean that fail_json() was called from + # somewhere in basic.py + if prev_state == 'absent': + # If we just created the file we can safely remove it + os.remove(path) + raise e module.exit_json(dest=path, changed=True) |