]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/rbd_support: catch rados errors when loading schedules
authorMykola Golub <mgolub@suse.com>
Wed, 26 Feb 2020 08:12:03 +0000 (08:12 +0000)
committerMykola Golub <mgolub@suse.com>
Wed, 26 Feb 2020 20:01:05 +0000 (20:01 +0000)
It may be a temporary error and the scheduler will succeed on the
next run.

Signed-off-by: Mykola Golub <mgolub@suse.com>
src/pybind/mgr/rbd_support/schedule.py

index 5ca8b20e233f80686456e1bd0ca9673e4482a047..999fba63ec4c73cfbfb0fa124fd600879448ea95 100644 (file)
@@ -332,8 +332,14 @@ class Schedules:
                         schedule_cfg))
 
         for pool_id, pool_name in get_rbd_pools(self.handler.module).items():
-            with self.handler.module.rados.open_ioctx2(int(pool_id)) as ioctx:
-                self.load_from_pool(ioctx, namespace_validator, image_validator)
+            try:
+                with self.handler.module.rados.open_ioctx2(int(pool_id)) as ioctx:
+                    self.load_from_pool(ioctx, namespace_validator,
+                                        image_validator)
+            except rados.Error as e:
+                self.handler.log.error(
+                    "Failed to load schedules for pool {}: {}".format(
+                        pool_name, e))
 
     def load_from_pool(self, ioctx, namespace_validator, image_validator):
         pool_id = ioctx.get_pool_id()