diff --git a/changelogs/fragments/clarify_error_message.yml b/changelogs/fragments/clarify_error_message.yml new file mode 100644 index 0000000000..bebcc0873a --- /dev/null +++ b/changelogs/fragments/clarify_error_message.yml @@ -0,0 +1,2 @@ +bugfixes: + - Fix an atomic_move error that is 'true', but misleading. Now we show all 3 files involved and clarify what happened. diff --git a/lib/ansible/module_utils/basic.py b/lib/ansible/module_utils/basic.py index b4eba86bbd..e303925cf5 100644 --- a/lib/ansible/module_utils/basic.py +++ b/lib/ansible/module_utils/basic.py @@ -2618,7 +2618,8 @@ class AnsibleModule(object): if unsafe_writes and e.errno == errno.EBUSY: self._unsafe_writes(b_tmp_dest_name, b_dest) else: - self.fail_json(msg='Unable to rename file: %s to %s: %s' % (src, dest, to_native(e)), + self.fail_json(msg='Unable to make %s into to %s, failed final rename from %s: %s' % + (src, dest, b_tmp_dest_name, to_native(e)), exception=traceback.format_exc()) except (shutil.Error, OSError, IOError) as e: self.fail_json(msg='Failed to replace file: %s to %s: %s' % (src, dest, to_native(e)),