diff options
Diffstat (limited to 'lib/ansible/plugins/connection/libvirt_lxc.py')
-rw-r--r-- | lib/ansible/plugins/connection/libvirt_lxc.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/ansible/plugins/connection/libvirt_lxc.py b/lib/ansible/plugins/connection/libvirt_lxc.py index 2b92e9c9dc..4ccb66f556 100644 --- a/lib/ansible/plugins/connection/libvirt_lxc.py +++ b/lib/ansible/plugins/connection/libvirt_lxc.py @@ -29,8 +29,9 @@ import traceback from ansible import constants as C from ansible.errors import AnsibleError +from ansible.module_utils._text import to_bytes from ansible.plugins.connection import ConnectionBase, BUFSIZE -from ansible.utils.unicode import to_bytes + try: from __main__ import display @@ -94,7 +95,7 @@ class Connection(ConnectionBase): local_cmd += [self.lxc, '--', executable, '-c', cmd] display.vvv("EXEC %s" % (local_cmd,), host=self.lxc) - local_cmd = [to_bytes(i, errors='strict') for i in local_cmd] + local_cmd = [to_bytes(i, errors='surrogate_or_strict') for i in local_cmd] p = subprocess.Popen(local_cmd, shell=False, stdin=stdin, stdout=subprocess.PIPE, stderr=subprocess.PIPE) @@ -130,7 +131,7 @@ class Connection(ConnectionBase): out_path = pipes.quote(self._prefix_login_path(out_path)) try: - with open(to_bytes(in_path, errors='strict'), 'rb') as in_file: + with open(to_bytes(in_path, errors='surrogate_or_strict'), 'rb') as in_file: try: p = self._buffered_exec_command('dd of=%s bs=%s' % (out_path, BUFSIZE), stdin=in_file) except OSError: @@ -156,7 +157,7 @@ class Connection(ConnectionBase): except OSError: raise AnsibleError("chroot connection requires dd command in the chroot") - with open(to_bytes(out_path, errors='strict'), 'wb+') as out_file: + with open(to_bytes(out_path, errors='surrogate_or_strict'), 'wb+') as out_file: try: chunk = p.stdout.read(BUFSIZE) while chunk: |