From 038b281da217c8e9c1c00e2c9ada965c5c34cf8c Mon Sep 17 00:00:00 2001 From: Giovanni Sciortino <30353557+giovannisciortino@users.noreply.github.com> Date: Tue, 6 Feb 2018 21:03:20 +0100 Subject: [PATCH] lineinfile creating underlying directory manage permission denied exception (#35794) --- lib/ansible/modules/files/lineinfile.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/ansible/modules/files/lineinfile.py b/lib/ansible/modules/files/lineinfile.py index c5c6cbeca9..31b09bd237 100644 --- a/lib/ansible/modules/files/lineinfile.py +++ b/lib/ansible/modules/files/lineinfile.py @@ -238,7 +238,11 @@ def present(module, dest, regexp, line, insertafter, insertbefore, create, module.fail_json(rc=257, msg='Destination %s does not exist !' % dest) b_destpath = os.path.dirname(b_dest) if not os.path.exists(b_destpath) and not module.check_mode: - os.makedirs(b_destpath) + try: + os.makedirs(b_destpath) + except Exception as e: + module.fail_json(msg='Error creating %s Error code: %s Error description: %s' % (b_destpath, e[0], e[1])) + b_lines = [] else: f = open(b_dest, 'rb')