From: Sage Weil Date: Sat, 13 Jul 2019 16:06:41 +0000 (-0500) Subject: mgr/crash: add option and serve infra X-Git-Tag: v14.2.5~61^2~15 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=41662fce4b3c4d771266afa032d833a151cf2d4d;p=ceph.git mgr/crash: add option and serve infra Signed-off-by: Sage Weil (cherry picked from commit 7cbaa5ac563bf0be7dd2227ef8a1ae7d0ae20143) --- diff --git a/src/pybind/mgr/crash/module.py b/src/pybind/mgr/crash/module.py index 49c524b4ab429..a51bd163e6524 100644 --- a/src/pybind/mgr/crash/module.py +++ b/src/pybind/mgr/crash/module.py @@ -5,16 +5,39 @@ import json import six from collections import defaultdict from prettytable import PrettyTable +from threading import Event 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/')