From 45c2eb6c0aa655b71ebbb66a324cc78840b2ce1e Mon Sep 17 00:00:00 2001 From: Matt Davis Date: Tue, 28 Jul 2020 07:30:32 -0700 Subject: [PATCH] lineinfile - fix broken exception handling (#70846) * prevent (ExceptionType) is not subscriptable errors * tweak error message and use text conversion * add to_text import --- changelogs/fragments/lineinfile_exc_fix.yml | 2 ++ lib/ansible/modules/lineinfile.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 changelogs/fragments/lineinfile_exc_fix.yml diff --git a/changelogs/fragments/lineinfile_exc_fix.yml b/changelogs/fragments/lineinfile_exc_fix.yml new file mode 100644 index 00000000000..08002217af0 --- /dev/null +++ b/changelogs/fragments/lineinfile_exc_fix.yml @@ -0,0 +1,2 @@ +bugfixes: + - lineinfile - fix not subscriptable error in exception handling around file creation diff --git a/lib/ansible/modules/lineinfile.py b/lib/ansible/modules/lineinfile.py index 1fa50c881d9..20a3990efe7 100644 --- a/lib/ansible/modules/lineinfile.py +++ b/lib/ansible/modules/lineinfile.py @@ -212,7 +212,7 @@ import tempfile # import module snippets from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils._text import to_bytes, to_native +from ansible.module_utils._text import to_bytes, to_native, to_text def write_changes(module, b_lines, dest): @@ -267,7 +267,7 @@ def present(module, dest, regexp, line, insertafter, insertbefore, create, 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])) + module.fail_json(msg='Error creating %s (%s)' % (to_text(b_destpath), to_text(e))) b_lines = [] else: