From ff471d485cd2068b6425b74a17875d8d6a823595 Mon Sep 17 00:00:00 2001 From: Jan Fajerski Date: Thu, 30 Nov 2017 11:27:04 +0100 Subject: [PATCH] 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 --- src/pybind/mgr/prometheus/module.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/pybind/mgr/prometheus/module.py b/src/pybind/mgr/prometheus/module.py index 85f78a06baf..4aef7885d78 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") -- 2.39.5