[stable-2.9] lineinfile - fix broken exception handling (#70846) (#70945)

* prevent (ExceptionType) is not subscriptable errors
* tweak error message and use text conversion
* add to_text import
(cherry picked from commit 45c2eb6c0a)

Co-authored-by: nitzmahone <nitzmahone@users.noreply.github.com>

Co-authored-by: Matt Davis <nitzmahone@users.noreply.github.com>
pull/70851/head
Sam Doran 4 years ago committed by GitHub
parent 74d5391f73
commit 435d0feae1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,2 @@
bugfixes:
- lineinfile - fix not subscriptable error in exception handling around file creation

@ -208,7 +208,7 @@ import tempfile
# import module snippets # import module snippets
from ansible.module_utils.basic import AnsibleModule 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): def write_changes(module, b_lines, dest):
@ -263,7 +263,7 @@ def present(module, dest, regexp, line, insertafter, insertbefore, create,
try: try:
os.makedirs(b_destpath) os.makedirs(b_destpath)
except Exception as e: 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 = [] b_lines = []
else: else:

Loading…
Cancel
Save