From 6944bafb45b5261497e7bee1fe16766d41222de4 Mon Sep 17 00:00:00 2001 From: Jacob Weinstock Date: Mon, 20 Aug 2018 18:33:16 -0600 Subject: [PATCH 1/2] add salt.utils.stringutils.to_bytes. add comment on unicode_literals. --- salt/modules/omapi.py | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/salt/modules/omapi.py b/salt/modules/omapi.py index f26dd793011f..ca667edf7adb 100644 --- a/salt/modules/omapi.py +++ b/salt/modules/omapi.py @@ -13,10 +13,14 @@ ''' # Import python libs -from __future__ import absolute_import, print_function, unicode_literals +# Not importing unicode_literals as pypureomapi needs byte strings not unicode +from __future__ import absolute_import, print_function import logging import struct +# Import salt libs +import salt.utils.stringutils + log = logging.getLogger(__name__) @@ -47,6 +51,10 @@ def _conn(): __opts__.get('omapi.key', None)) username = __pillar__.get('omapi.user', __opts__.get('omapi.user', None)) + if key: + key = salt.utils.stringutils.to_bytes(key) + if username: + username = salt.utils.stringutils.to_bytes(username) return omapi.Omapi(server_ip, server_port, username=username, key=key) @@ -70,22 +78,22 @@ def add_host(mac, name=None, ip=None, ddns=False, group=None, statements = '' o = _conn() msg = omapi.OmapiMessage.open(b'host') - msg.message.append(('create', struct.pack(b'!I', 1))) - msg.message.append(('exclusive', struct.pack(b'!I', 1))) - msg.obj.append(('hardware-address', omapi.pack_mac(mac))) - msg.obj.append(('hardware-type', struct.pack(b'!I', 1))) + msg.message.append((b'create', struct.pack(b'!I', 1))) + msg.message.append((b'exclusive', struct.pack(b'!I', 1))) + msg.obj.append((b'hardware-address', omapi.pack_mac(mac))) + msg.obj.append((b'hardware-type', struct.pack(b'!I', 1))) if ip: - msg.obj.append(('ip-address', omapi.pack_ip(ip))) + msg.obj.append((b'ip-address', omapi.pack_ip(ip))) if name: - msg.obj.append(('name', name)) + msg.obj.append((b'name', salt.utils.stringutils.to_bytes(name))) if group: - msg.obj.append(('group', group)) + msg.obj.append((b'group', salt.utils.stringutils.to_bytes(group))) if supersede_host: statements += 'option host-name "{0}"; '.format(name) if ddns and name: statements += 'ddns-hostname "{0}"; '.format(name) if statements: - msg.obj.append(('statements', statements)) + msg.obj.append((b'statements', salt.utils.stringutils.to_bytes(statements))) response = o.query_server(msg) if response.opcode != omapi.OMAPI_OP_UPDATE: return False @@ -108,10 +116,10 @@ def delete_host(mac=None, name=None): o = _conn() msg = omapi.OmapiMessage.open(b'host') if mac: - msg.obj.append(('hardware-address', omapi.pack_mac(mac))) - msg.obj.append(('hardware-type', struct.pack(b'!I', 1))) + msg.obj.append((b'hardware-address', omapi.pack_mac(mac))) + msg.obj.append((b'hardware-type', struct.pack(b'!I', 1))) if name: - msg.obj.append(('name', name)) + msg.obj.append((b'name', salt.utils.stringutils.to_bytes(name))) response = o.query_server(msg) if response.opcode != omapi.OMAPI_OP_UPDATE: return None From 11ad11c53a195e1bfaf2fdb13a9005131b2197b4 Mon Sep 17 00:00:00 2001 From: Jacob Weinstock Date: Wed, 22 Aug 2018 12:22:08 -0600 Subject: [PATCH 2/2] add unicode_literals back to handle logging and other things. --- salt/modules/omapi.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/salt/modules/omapi.py b/salt/modules/omapi.py index ca667edf7adb..ef04c99edcce 100644 --- a/salt/modules/omapi.py +++ b/salt/modules/omapi.py @@ -13,8 +13,7 @@ ''' # Import python libs -# Not importing unicode_literals as pypureomapi needs byte strings not unicode -from __future__ import absolute_import, print_function +from __future__ import absolute_import, print_function, unicode_literals import logging import struct