summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Rabotyagov <noonedeadpunk@ya.ru>2020-07-29 17:10:19 +0300
committerDmitriy Rabotyagov (noonedeadpunk) <noonedeadpunk@ya.ru>2020-07-29 15:43:06 +0000
commit9aa22c34ca29d0adcc9ad0154a6476ef799f058a (patch)
tree1f0bb4f6689f2375c5986d0984718fafc7c7e640
parentfca43df8973f20d075cddecc6b7f65381e0e7a13 (diff)
downloadtooz-9aa22c34ca29d0adcc9ad0154a6476ef799f058a.tar.gz
Use safe_decode for decoding in zookeeper driver2.7.1
Current behaviour leds to AttributeError because py3 don't have decode attribut for the string objects. So it's better to use safe_decode from oslo_utils.encodeutils for that purpose Change-Id: I22ce4212381511e2b2631a97057d6da938024b99
-rw-r--r--tooz/drivers/zookeeper.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/tooz/drivers/zookeeper.py b/tooz/drivers/zookeeper.py
index e08708b..9c17299 100644
--- a/tooz/drivers/zookeeper.py
+++ b/tooz/drivers/zookeeper.py
@@ -443,7 +443,9 @@ class KazooDriver(coordination.CoordinationDriverCachedRunWatchers):
cleaned_args = []
for arg in args:
if isinstance(arg, bytes):
- cleaned_args.append(arg.decode('ascii'))
+ cleaned_args.append(
+ encodeutils.safe_decode(arg, incoming='ascii')
+ )
else:
cleaned_args.append(arg)
return paths.join(*cleaned_args)
@@ -500,7 +502,7 @@ class KazooDriver(coordination.CoordinationDriverCachedRunWatchers):
if group_id not in self._leader_locks:
self._leader_locks[group_id] = self._coord.Lock(
self._path_group(group_id) + "/leader",
- self._member_id.decode('ascii'))
+ encodeutils.safe_decode(self._member_id, incoming='ascii'))
return self._leader_locks[group_id]
def get_leader(self, group_id):
@@ -514,7 +516,7 @@ class KazooDriver(coordination.CoordinationDriverCachedRunWatchers):
def get_lock(self, name):
z_lock = self._coord.Lock(
self._paths_join(b"/", self._namespace, b"locks", name),
- self._member_id.decode('ascii'))
+ encodeutils.safe_decode(self._member_id, incoming='ascii'))
return ZooKeeperLock(name, z_lock)
def run_elect_coordinator(self):