diff --git a/changelogs/fragments/54754-acme_certificate-cwd.yml b/changelogs/fragments/54754-acme_certificate-cwd.yml new file mode 100644 index 0000000000..dc8226426f --- /dev/null +++ b/changelogs/fragments/54754-acme_certificate-cwd.yml @@ -0,0 +1,2 @@ +bugfixes: +- "acme_certificate - writing result failed when no path was specified (i.e. destination in current working directory)." diff --git a/lib/ansible/module_utils/acme.py b/lib/ansible/module_utils/acme.py index 54f9aa6a0d..4576e86e61 100644 --- a/lib/ansible/module_utils/acme.py +++ b/lib/ansible/module_utils/acme.py @@ -119,9 +119,10 @@ def write_file(module, dest, content): raise ModuleFailException("Destination %s not readable" % (dest)) checksum_dest = module.sha1(dest) else: - if not os.access(os.path.dirname(dest), os.W_OK): + dirname = os.path.dirname(dest) or '.' + if not os.access(dirname, os.W_OK): os.remove(tmpsrc) - raise ModuleFailException("Destination dir %s not writable" % (os.path.dirname(dest))) + raise ModuleFailException("Destination dir %s not writable" % (dirname)) if checksum_src != checksum_dest: try: shutil.copyfile(tmpsrc, dest)