From: Jan Fajerski Date: Thu, 30 Nov 2017 10:27:04 +0000 (+0100) Subject: pybing/mgr/prometheus: tidy up cherrypy engine start and stop X-Git-Tag: v13.0.2~476^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ff471d485cd2068b6425b74a17875d8d6a823595;p=ceph.git pybing/mgr/prometheus: tidy up cherrypy engine start and stop Calling cherrypy.engine.block() in the stanby module results in a failing mgr failover. Signed-off-by: Jan Fajerski --- diff --git a/src/pybind/mgr/prometheus/module.py b/src/pybind/mgr/prometheus/module.py index 85f78a06bafb..4aef7885d782 100644 --- a/src/pybind/mgr/prometheus/module.py +++ b/src/pybind/mgr/prometheus/module.py @@ -138,8 +138,6 @@ class Module(MgrModule): def __init__(self, *args, **kwargs): super(Module, self).__init__(*args, **kwargs) - self.notified = False - self.serving = False self.metrics = self._setup_static_metrics() self.schema = OrderedDict() _global_instance['plugin'] = self @@ -414,12 +412,16 @@ class Module(MgrModule): 'engine.autoreload.on': False }) cherrypy.tree.mount(Root(), "/") + self.log.info('Starting engine...') cherrypy.engine.start() + self.log.info('Engine started.') cherrypy.engine.block() def shutdown(self): - self.serving = False - pass + self.log.info('Stopping engine...') + cherrypy.engine.wait(state=cherrypy.engine.states.STARTED) + cherrypy.engine.exit() + self.log.info('Stopped engine') class StandbyModule(MgrStandbyModule): @@ -433,7 +435,6 @@ class StandbyModule(MgrStandbyModule): 'engine.autoreload.on': False }) - module = self class Root(object): @@ -456,13 +457,14 @@ class StandbyModule(MgrStandbyModule): return '' cherrypy.tree.mount(Root(), '/', {}) - cherrypy.engine.wait(state=cherrypy.engine.states.STOPPED) self.log.info('Starting engine...') cherrypy.engine.start() + self.log.info("Waiting for engine...") + cherrypy.engine.wait(state=cherrypy.engine.states.STOPPED) self.log.info('Engine started.') - cherrypy.engine.block() def shutdown(self): - self.log.info('Stopping engine...') - self.log.info('Stopped engine') - pass + self.log.info("Stopping engine...") + cherrypy.engine.wait(state=cherrypy.engine.states.STARTED) + cherrypy.engine.stop() + self.log.info("Stopped engine")