From: Sage Weil Date: Sat, 13 Jul 2019 16:06:41 +0000 (-0500) Subject: mgr/crash: add option and serve infra X-Git-Tag: v15.1.0~2091^2~16 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7cbaa5ac563bf0be7dd2227ef8a1ae7d0ae20143;p=ceph.git mgr/crash: add option and serve infra Signed-off-by: Sage Weil --- diff --git a/src/pybind/mgr/crash/module.py b/src/pybind/mgr/crash/module.py index a3995cced3d1..8b949af1b18f 100644 --- a/src/pybind/mgr/crash/module.py +++ b/src/pybind/mgr/crash/module.py @@ -5,6 +5,7 @@ import json import six from collections import defaultdict from prettytable import PrettyTable +from threading import Event DATEFMT = '%Y-%m-%dT%H:%M:%S.%f' @@ -12,10 +13,32 @@ OLD_DATEFMT = '%Y-%m-%d %H:%M:%S.%f' class Module(MgrModule): + MODULE_OPTIONS = [ + ] def __init__(self, *args, **kwargs): super(Module, self).__init__(*args, **kwargs) self.crashes = None + self.run = True + self.event = Event() + + def shutdown(self): + self.run = False + self.event.set() + + def serve(self): + self.config_notify() + while self.run: + self.event.wait(self.warn_recent_interval / 100) + self.event.clear() + + def config_notify(self): + for opt in self.MODULE_OPTIONS: + setattr(self, + opt['name'], + self.get_module_option(opt['name']) or opt['default']) + self.log.debug(' mgr option %s = %s', + opt['name'], getattr(self, opt['name'])) def _load_crashes(self): raw = self.get_store_prefix('crash/')