diff --git a/lib/ansible/modules/net_tools/haproxy.py b/lib/ansible/modules/net_tools/haproxy.py index 79d932b89a..1c2897a20b 100644 --- a/lib/ansible/modules/net_tools/haproxy.py +++ b/lib/ansible/modules/net_tools/haproxy.py @@ -193,6 +193,7 @@ import time from string import Template from ansible.module_utils.basic import AnsibleModule +from ansible.module_utils._text import to_bytes, to_text DEFAULT_SOCKET_LOCATION = "/var/run/haproxy.sock" @@ -242,13 +243,16 @@ class HAProxy(object): """ self.client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) self.client.connect(self.socket) - self.client.sendall('%s\n' % cmd) - result = '' - buf = '' + self.client.sendall(to_bytes('%s\n' % cmd)) + + result = b'' + buf = b'' buf = self.client.recv(RECV_SIZE) while buf: result += buf buf = self.client.recv(RECV_SIZE) + result = to_text(result, errors='surrogate_or_strict') + if capture_output: self.capture_command_output(cmd, result.strip()) self.client.close()