diff options
author | Zuul <zuul@review.openstack.org> | 2019-02-22 07:51:30 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2019-02-22 07:51:30 +0000 |
commit | f503633da040a2668f603e4aa34450b7e5db1252 (patch) | |
tree | f88a6546b600e12e5b1c452da3fb5642931fb4fd /glance_store/_drivers | |
parent | d54ee8437fc2d74573229ce21789b6eb4acb4a45 (diff) | |
parent | 9c73370358c02fc7f308d88f4563f22969a42c96 (diff) | |
download | glance_store-f503633da040a2668f603e4aa34450b7e5db1252.tar.gz |
Merge "Fix python3 compatibility of rbd get_fsid"
Diffstat (limited to 'glance_store/_drivers')
-rw-r--r-- | glance_store/_drivers/rbd.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/glance_store/_drivers/rbd.py b/glance_store/_drivers/rbd.py index a19feef..2a5a097 100644 --- a/glance_store/_drivers/rbd.py +++ b/glance_store/_drivers/rbd.py @@ -24,6 +24,7 @@ import logging import math from oslo_config import cfg +from oslo_utils import encodeutils from oslo_utils import units from six.moves import urllib @@ -469,7 +470,18 @@ class Store(driver.Store): rados_id=self.user) as conn: fsid = None if hasattr(conn, 'get_fsid'): - fsid = conn.get_fsid() + # Librados's get_fsid is represented as binary + # in py3 instead of str as it is in py2. + # This is causing problems with ceph. + # Decode binary to str fixes these issues. + # Fix with encodeutils.safe_decode CAN BE REMOVED + # after librados's fix will be stable. + # + # More informations: + # https://bugs.launchpad.net/glance-store/+bug/1816721 + # https://bugs.launchpad.net/cinder/+bug/1816468 + # https://tracker.ceph.com/issues/38381 + fsid = encodeutils.safe_decode(conn.get_fsid()) with conn.open_ioctx(self.pool) as ioctx: order = int(math.log(self.WRITE_CHUNKSIZE, 2)) LOG.debug('creating image %s with order %d and size %d', |