From: Jason Dillaman Date: Mon, 17 Jul 2017 20:44:22 +0000 (-0400) Subject: mgr/dashboard: dynamically populate mirroring warning/errors X-Git-Tag: v12.1.2~151^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a7dd68ed394aa7e61f75aa9ce44c5f818e2164ac;p=ceph.git mgr/dashboard: dynamically populate mirroring warning/errors Signed-off-by: Jason Dillaman --- diff --git a/src/pybind/mgr/dashboard/rbd_mirroring.py b/src/pybind/mgr/dashboard/rbd_mirroring.py index a03dcb02762..b4dd51bbe0a 100644 --- a/src/pybind/mgr/dashboard/rbd_mirroring.py +++ b/src/pybind/mgr/dashboard/rbd_mirroring.py @@ -206,9 +206,24 @@ class Toplevel(RemoteViewCache): status, data = self.daemons_and_pools.get() if data is None: log.warning("Failed to get rbd-mirror daemons and pools") - daemons = [] + daemons = {} + daemons = data.get('daemons', []) + pools = data.get('pools', {}) + + warnings = 0 + errors = 0 + for daemon in daemons: + if daemon['health_color'] == 'error': + errors += 1 + elif daemon['health_color'] == 'warning': + warnings += 1 + for pool_name, pool in pools.items(): + if pool['health_color'] == 'error': + errors += 1 + elif pool['health_color'] == 'warning': + warnings += 1 + return {'warnings': warnings, 'errors': errors} - return {'warnings': 2, 'errors': 1} class ContentData(RemoteViewCache): def __init__(self, module_inst, daemons_and_pools, pool_data):