From: Jason Dillaman Date: Wed, 31 Jul 2019 18:19:28 +0000 (-0400) Subject: pybind/mgr/rbd_support: ignore missing OSD support for RBD namespaces X-Git-Tag: v15.1.0~1851^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=10c0c806819741012e1c440c38fac17682125d9a;p=ceph.git pybind/mgr/rbd_support: ignore missing OSD support for RBD namespaces During upgrades, the OSDs might not yet have been upgraded yet and therefore might be missing namespace support. Fixes: https://tracker.ceph.com/issues/41029 Signed-off-by: Jason Dillaman --- diff --git a/src/pybind/mgr/rbd_support/module.py b/src/pybind/mgr/rbd_support/module.py index bf6523de1acf..c08bc90469cc 100644 --- a/src/pybind/mgr/rbd_support/module.py +++ b/src/pybind/mgr/rbd_support/module.py @@ -673,9 +673,16 @@ class TaskHandler: with self.module.rados.open_ioctx2(int(pool_id)) as ioctx: self.load_task_queue(ioctx, pool_name) - for namespace in rbd.RBD().namespace_list(ioctx): + try: + namespaces = rbd.RBD().namespace_list(ioctx) + except rbd.OperationNotSupported: + self.log.debug("Namespaces not supported") + continue + + for namespace in namespaces: ioctx.set_namespace(namespace) self.load_task_queue(ioctx, pool_name) + except rados.ObjectNotFound: # pool DNE pass