From f6f2d253c379a6235e810808e7ce3b83cc4e212c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 27 Sep 2017 11:19:23 -0400 Subject: [PATCH] mgr/balancer: include pg up mapping in MappingState Signed-off-by: Sage Weil --- src/pybind/mgr/balancer/module.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/pybind/mgr/balancer/module.py b/src/pybind/mgr/balancer/module.py index 9b00922cac4..a0bc919e150 100644 --- a/src/pybind/mgr/balancer/module.py +++ b/src/pybind/mgr/balancer/module.py @@ -31,7 +31,13 @@ class MappingState: self.pg_stat = { i['pgid']: i['stat_sum'] for i in pg_dump.get('pg_stats', []) } - + self.poolids = [p['pool'] for p in self.osdmap_dump.get('pools', [])] + self.pg_up = {} + self.pg_up_by_poolid = {} + for poolid in self.poolids: + self.pg_up_by_poolid[poolid] = osdmap.map_pool_pgs_up(poolid) + for a,b in self.pg_up_by_poolid[poolid].iteritems(): + self.pg_up[a] = b class Plan: def __init__(self, name, ms): @@ -388,7 +394,7 @@ class Module(MgrModule): pi = [p for p in ms.osdmap_dump.get('pools',[]) if p['pool_name'] == pool][0] poolid = pi['pool'] - pm = ms.osdmap.map_pool_pgs_up(poolid) + pm = ms.pg_up_by_poolid[poolid] pgs = 0 objects = 0 bytes = 0 -- 2.39.5