From abcee7133b87d60c841ad2ed589858e4dd347ed8 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sat, 29 Feb 2020 08:58:59 -0600 Subject: [PATCH] pybind/mgr/mgr_module: fix standby module logging options We need to define the module options and their default so that _configure_logging can succeed. Broken by 8ec3b3d3cc7d4c2d2678f460de27ecc8cb07d8fe Signed-off-by: Sage Weil --- src/pybind/mgr/mgr_module.py | 38 +++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/src/pybind/mgr/mgr_module.py b/src/pybind/mgr/mgr_module.py index 02c0f0d38d6..2b62d0672b4 100644 --- a/src/pybind/mgr/mgr_module.py +++ b/src/pybind/mgr/mgr_module.py @@ -451,7 +451,25 @@ class FileHandler(logging.FileHandler): self.setFormatter(logging.Formatter("%(asctime)s [%(threadName)s] [%(levelname)-4s] [%(name)s] %(message)s")) +def _define_logging_options(cls): + cls.MODULE_OPTIONS.append( + Option(name='log_level', type='str', default="", runtime=True, + enum_allowed=['info', 'debug', 'critical', 'error', + 'warning', ''])) + cls.MODULE_OPTIONS.append( + Option(name='log_to_file', type='bool', default=False, runtime=True)) + if not [x for x in cls.MODULE_OPTIONS if x['name'] == 'log_to_cluster']: + cls.MODULE_OPTIONS.append( + Option(name='log_to_cluster', type='bool', default=False, + runtime=True)) + cls.MODULE_OPTIONS.append( + Option(name='log_to_cluster_level', type='str', default='info', + runtime=True, + enum_allowed=['info', 'debug', 'critical', 'error', + 'warning', ''])) + class MgrModuleLoggingMixin(object): + def _configure_logging(self, mgr_level, module_level, cluster_level, log_to_file, log_to_cluster): self._mgr_level = None @@ -581,6 +599,8 @@ class MgrStandbyModule(ceph_module.BaseMgrStandbyModule, MgrModuleLoggingMixin): super(MgrStandbyModule, self).__init__(capsule) self.module_name = module_name + _define_logging_options(self) + # see also MgrModule.__init__() for o in self.MODULE_OPTIONS: if 'default' in o: @@ -689,6 +709,8 @@ class MgrModule(ceph_module.BaseMgrModule, MgrModuleLoggingMixin): self.module_name = module_name super(MgrModule, self).__init__(py_modules_ptr, this_ptr) + _define_logging_options(self) + for o in self.MODULE_OPTIONS: if 'default' in o: if 'type' in o: @@ -725,22 +747,6 @@ class MgrModule(ceph_module.BaseMgrModule, MgrModuleLoggingMixin): @classmethod def _register_commands(cls, module_name): - cls.MODULE_OPTIONS.append( - Option(name='log_level', type='str', default="", runtime=True, - enum_allowed=['info', 'debug', 'critical', 'error', - 'warning', ''])) - cls.MODULE_OPTIONS.append( - Option(name='log_to_file', type='bool', default=False, runtime=True)) - if not [x for x in cls.MODULE_OPTIONS if x['name'] == 'log_to_cluster']: - cls.MODULE_OPTIONS.append( - Option(name='log_to_cluster', type='bool', default=False, - runtime=True)) - cls.MODULE_OPTIONS.append( - Option(name='log_to_cluster_level', type='str', default='info', - runtime=True, - enum_allowed=['info', 'debug', 'critical', 'error', - 'warning', ''])) - cls.COMMANDS.extend(CLICommand.dump_cmd_list()) @property -- 2.39.5