From: Venky Shankar Date: Tue, 17 Sep 2019 19:01:59 +0000 (-0400) Subject: mgr/volumes: return string type to ceph-manager X-Git-Tag: v15.1.0~1502^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=88aa0576a63c5b2e8d4478951b4f594fb5047b52;p=ceph-ci.git mgr/volumes: return string type to ceph-manager The 'volumes' ceph-mgr module returns a byte type instead of a string type as the stdout result of commands, `fs subvolume getpath` and `fs subvolumegroup getpath` to the ceph-mgr. This causes the commands to hang and the ceph-mgr to utilize 100% CPU. Fix the 'volumes' ceph-mgr module to return string type to ceph-mgr as the stdout result of the commands. Introduced-by: 3d63cd947f55a8508f972ee249ea6a04836429ae Fixes: https://tracker.ceph.com/issues/41903 Signed-off-by: Venky Shankar --- diff --git a/src/pybind/mgr/volumes/fs/volume.py b/src/pybind/mgr/volumes/fs/volume.py index ad189c1dc0a..791eab5f332 100644 --- a/src/pybind/mgr/volumes/fs/volume.py +++ b/src/pybind/mgr/volumes/fs/volume.py @@ -419,7 +419,7 @@ class VolumeClient(object): if not path: raise VolumeException( -errno.ENOENT, "Subvolume '{0}' not found".format(subvolname)) - ret = 0, path, "" + ret = 0, path.decode("utf-8"), "" except VolumeException as ve: ret = self.volume_exception_to_retval(ve) return ret @@ -520,7 +520,7 @@ class VolumeClient(object): if path is None: raise VolumeException( -errno.ENOENT, "Subvolume group '{0}' not found".format(groupname)) - return 0, path, "" + return 0, path.decode("utf-8"), "" except VolumeException as ve: return self.volume_exception_to_retval(ve)