From: Dan van der Ster Date: Wed, 13 Dec 2017 16:02:44 +0000 (+0100) Subject: mgr/balancer: cast config vals to int or float X-Git-Tag: v13.0.2~771^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d7713e6f823dd62a33a27996e1da8e29f3f7b7c5;p=ceph.git mgr/balancer: cast config vals to int or float upmap_max_iterations and other config vals need to be numeric. Cast them appropriately. Signed-off-by: Dan van der Ster Fixes: http://tracker.ceph.com/issues/22429 --- diff --git a/src/pybind/mgr/balancer/module.py b/src/pybind/mgr/balancer/module.py index 8fddaa686665..c7fa70cbbdc4 100644 --- a/src/pybind/mgr/balancer/module.py +++ b/src/pybind/mgr/balancer/module.py @@ -606,8 +606,8 @@ class Module(MgrModule): def do_upmap(self, plan): self.log.info('do_upmap') - max_iterations = self.get_config('upmap_max_iterations', 10) - max_deviation = self.get_config('upmap_max_deviation', .01) + max_iterations = int(self.get_config('upmap_max_iterations', 10)) + max_deviation = float(self.get_config('upmap_max_deviation', .01)) ms = plan.initial pools = [str(i['pool_name']) for i in ms.osdmap_dump.get('pools',[])] @@ -632,10 +632,10 @@ class Module(MgrModule): def do_crush_compat(self, plan): self.log.info('do_crush_compat') - max_iterations = self.get_config('crush_compat_max_iterations', 25) + max_iterations = int(self.get_config('crush_compat_max_iterations', 25)) if max_iterations < 1: return False - step = self.get_config('crush_compat_step', .5) + step = float(self.get_config('crush_compat_step', .5)) if step <= 0 or step >= 1.0: return False max_misplaced = float(self.get_config('max_misplaced',