Fix a process execution using lxc connection plugin on Python3.
python2-lxc module needs bytes, on the other hand python3-lxc requires text. To solve such incompatibility, use to_native other than to_bytes. This fixes #41060.
This commit is contained in:
parent
204fc7becf
commit
9a4ad89ec5
1 changed files with 4 additions and 3 deletions
|
@ -45,7 +45,7 @@ except ImportError:
|
|||
|
||||
from ansible import constants as C
|
||||
from ansible import errors
|
||||
from ansible.module_utils._text import to_bytes
|
||||
from ansible.module_utils._text import to_bytes, to_native
|
||||
from ansible.plugins.connection import ConnectionBase
|
||||
|
||||
|
||||
|
@ -116,8 +116,9 @@ class Connection(ConnectionBase):
|
|||
''' run a command on the chroot '''
|
||||
super(Connection, self).exec_command(cmd, in_data=in_data, sudoable=sudoable)
|
||||
|
||||
executable = to_bytes(self._play_context.executable, errors='surrogate_or_strict')
|
||||
local_cmd = [executable, '-c', to_bytes(cmd, errors='surrogate_or_strict')]
|
||||
# python2-lxc needs bytes. python3-lxc needs text.
|
||||
executable = to_native(self._play_context.executable, errors='surrogate_or_strict')
|
||||
local_cmd = [executable, '-c', to_native(cmd, errors='surrogate_or_strict')]
|
||||
|
||||
read_stdout, write_stdout = None, None
|
||||
read_stderr, write_stderr = None, None
|
||||
|
|
Loading…
Reference in a new issue