]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind/mgr/mgr_module: fix standby module logging options 33639/head
authorSage Weil <sage@redhat.com>
Sat, 29 Feb 2020 14:58:59 +0000 (08:58 -0600)
committerSage Weil <sage@redhat.com>
Sat, 29 Feb 2020 16:44:43 +0000 (10:44 -0600)
We need to define the module options and their default so that
_configure_logging can succeed.

Broken by 8ec3b3d3cc7d4c2d2678f460de27ecc8cb07d8fe

Signed-off-by: Sage Weil <sage@redhat.com>
src/pybind/mgr/mgr_module.py

index 02c0f0d38d62636182551439f7656c75bb4fe221..2b62d0672b40f37fcb981a0b60f95f6de511f639 100644 (file)
@@ -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