[stable-2.10] lineinfile - fix broken exception handling (#70846) (#70944)

* 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>
This commit is contained in:
Sam Doran 2020-07-29 16:53:54 -04:00 committed by GitHub
parent 293d6c59bb
commit 6f70d40d51
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 2 deletions

View file

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

View file

@ -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: