From: Sebastian Wagner Date: Wed, 10 Jun 2020 12:06:44 +0000 (+0200) Subject: mgr/dashboard: fix None value for ints and floats X-Git-Tag: v16.1.0~2081^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f6f9b3fb999ea53afdd286639cc98dc9fe7a8531;p=ceph.git mgr/dashboard: fix None value for ints and floats Fixes: https://tracker.ceph.com/issues/45963 Signed-off-by: Sebastian Wagner --- diff --git a/qa/tasks/mgr/dashboard/test_mgr_module.py b/qa/tasks/mgr/dashboard/test_mgr_module.py index 3c24019d4934..39040d1a48c6 100644 --- a/qa/tasks/mgr/dashboard/test_mgr_module.py +++ b/qa/tasks/mgr/dashboard/test_mgr_module.py @@ -51,7 +51,7 @@ class MgrModuleTest(MgrModuleTestCase): 'type': str, 'level': str, 'flags': int, - 'default_value': JAny(none=False), + 'default_value': JAny(none=True), 'min': JAny(none=False), 'max': JAny(none=False), 'enum_allowed': JList(str), @@ -85,7 +85,7 @@ class MgrModuleTest(MgrModuleTestCase): 'type': str, 'level': str, 'flags': int, - 'default_value': JAny(none=False), + 'default_value': JAny(none=True), 'min': JAny(none=False), 'max': JAny(none=False), 'enum_allowed': JList(str), diff --git a/src/pybind/mgr/dashboard/controllers/mgr_modules.py b/src/pybind/mgr/dashboard/controllers/mgr_modules.py index 6b8613497103..d296d17fbf3f 100644 --- a/src/pybind/mgr/dashboard/controllers/mgr_modules.py +++ b/src/pybind/mgr/dashboard/controllers/mgr_modules.py @@ -160,10 +160,14 @@ class MgrModules(RESTController): option['default_value']) elif option['type'] == 'float': for name in ['default_value', 'min', 'max']: - if option[name]: # Skip empty entries + if option[name] == 'None': # This is Python None + option[name] = None + elif option[name]: # Skip empty entries option[name] = float(option[name]) elif option['type'] in ['uint', 'int', 'size', 'secs']: for name in ['default_value', 'min', 'max']: - if option[name]: # Skip empty entries + if option[name] == 'None': # This is Python None + option[name] = None + elif option[name]: # Skip empty entries option[name] = int(option[name]) return options