conn,buildah: don't pass bytes to shlex.split (#27896)

* conn,buildah: don't pass bytes to shlex.split on python3
(cherry picked from commit 0274835add)
pull/29940/head
Tomas Tomecek 7 years ago committed by Toshio Kuratomi
parent 8eab6a43f7
commit a0989d125d

@ -46,7 +46,7 @@ import shutil
import subprocess import subprocess
import ansible.constants as C import ansible.constants as C
from ansible.module_utils._text import to_bytes from ansible.module_utils._text import to_bytes, to_native
from ansible.plugins.connection import ConnectionBase, ensure_connect from ansible.plugins.connection import ConnectionBase, ensure_connect
@ -124,8 +124,8 @@ class Connection(ConnectionBase):
""" run specified command in a running OCI container using buildah """ """ run specified command in a running OCI container using buildah """
super(Connection, self).exec_command(cmd, in_data=in_data, sudoable=sudoable) super(Connection, self).exec_command(cmd, in_data=in_data, sudoable=sudoable)
cmd_bytes = to_bytes(cmd, errors='surrogate_or_strict') # shlex.split has a bug with text strings on Python-2.6 and can only handle text strings on Python-3
cmd_args_list = shlex.split(cmd_bytes) cmd_args_list = shlex.split(to_native(cmd, errors='surrogate_or_strict'))
rc, stdout, stderr = self._buildah("run", cmd_args_list) rc, stdout, stderr = self._buildah("run", cmd_args_list)

Loading…
Cancel
Save