From 2dac2d1601dc0c757876daa01b95ed9088d5c736 Mon Sep 17 00:00:00 2001 From: Paul Belanger Date: Wed, 19 Jun 2019 13:57:11 -0400 Subject: [PATCH] Pull request for temp/iosxr-back (#58075) * Fix python3 encoding with iosxr_config (#57919) Python3 requires bytes when writing files. (cherry picked from commit d40c44bd56cadccf1a823cf8f778b1bf782d8a1e) Depends-On https://github.com/ansible/ansible/pull/58073 Signed-off-by: Paul Belanger * Add changelog fragment Signed-off-by: Paul Belanger --- changelogs/fragments/57919-python3-encoding-iosxr_config.yaml | 2 ++ lib/ansible/modules/network/iosxr/iosxr_config.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 changelogs/fragments/57919-python3-encoding-iosxr_config.yaml diff --git a/changelogs/fragments/57919-python3-encoding-iosxr_config.yaml b/changelogs/fragments/57919-python3-encoding-iosxr_config.yaml new file mode 100644 index 00000000000..15759961195 --- /dev/null +++ b/changelogs/fragments/57919-python3-encoding-iosxr_config.yaml @@ -0,0 +1,2 @@ +bugfixes: + - Fix python3 encoding issue with iosxr_config. diff --git a/lib/ansible/modules/network/iosxr/iosxr_config.py b/lib/ansible/modules/network/iosxr/iosxr_config.py index 63fac281fa7..bab06f039e7 100644 --- a/lib/ansible/modules/network/iosxr/iosxr_config.py +++ b/lib/ansible/modules/network/iosxr/iosxr_config.py @@ -236,7 +236,7 @@ time: """ import re -from ansible.module_utils._text import to_text +from ansible.module_utils._text import to_text, to_bytes from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.connection import ConnectionError from ansible.module_utils.network.iosxr.iosxr import load_config, get_config, get_connection @@ -251,7 +251,7 @@ def copy_file_to_node(module): """ src = '/tmp/ansible_config.txt' file = open(src, 'wb') - file.write(module.params['src']) + file.write(to_bytes(module.params['src'], errors='surrogate_or_strict')) file.close() dst = '/harddisk:/ansible_config.txt'