unsafe writes! (#4314)

* unsafe writes!

* moved unsafe_write docs and args to file common

* added unsafe_writes option handling
pull/18777/head
Brian Coca 8 years ago committed by Matt Clay
parent a5695c8b24
commit 81e87cefd7

@ -233,7 +233,7 @@ def main():
if backup and dest_hash is not None:
result['backup_file'] = module.backup_local(dest)
module.atomic_move(path, dest)
module.atomic_move(path, dest, unsafe_writes=module.params['unsafe_writes'])
changed = True
cleanup(path, result)

@ -321,12 +321,11 @@ def main():
(rc,out,err) = module.run_command(validate % src)
if rc != 0:
module.fail_json(msg="failed to validate", exit_status=rc, stdout=out, stderr=err)
mysrc = src
if remote_src:
_, tmpdest = tempfile.mkstemp(dir=os.path.dirname(dest))
shutil.copy2(src, tmpdest)
module.atomic_move(tmpdest, dest)
else:
module.atomic_move(src, dest)
_, mysrc = tempfile.mkstemp(dir=os.path.dirname(dest))
shutil.copy2(src, mysrc)
module.atomic_move(mysrc, dest, unsafe_writes=module.params['unsafe_writes'])
except IOError:
module.fail_json(msg="failed to copy: %s to %s" % (src, dest), traceback=traceback.format_exc())
changed = True

@ -164,7 +164,7 @@ def write_changes(module,lines,dest):
module.fail_json(msg='failed to validate: '
'rc:%s error:%s' % (rc,err))
if valid:
module.atomic_move(tmpfile, os.path.realpath(dest))
module.atomic_move(tmpfile, os.path.realpath(dest), unsafe_writes=module.params['unsafe_writes'])
def check_file_attrs(module, changed, message, diff):

@ -101,7 +101,7 @@ def write_changes(module,contents,dest):
module.fail_json(msg='failed to validate: '
'rc:%s error:%s' % (rc,err))
if valid:
module.atomic_move(tmpfile, dest)
module.atomic_move(tmpfile, dest, unsafe_writes=module.params['unsafe_writes'])
def check_file_attrs(module, changed, message):

Loading…
Cancel
Save