From 41662fce4b3c4d771266afa032d833a151cf2d4d Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sat, 13 Jul 2019 11:06:41 -0500 Subject: [PATCH] mgr/crash: add option and serve infra Signed-off-by: Sage Weil (cherry picked from commit 7cbaa5ac563bf0be7dd2227ef8a1ae7d0ae20143) --- src/pybind/mgr/crash/module.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) 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/') -- 2.39.5