From 361b1906e99c33d3d79a9b00b0ec25f990258ecc Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 4 Dec 2019 07:13:44 -0600 Subject: [PATCH] mgr/restful: allow shutdown before we've fully started up Sometimes we get shutdown() before self.server has been assigned. Signed-off-by: Sage Weil --- src/pybind/mgr/restful/module.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/pybind/mgr/restful/module.py b/src/pybind/mgr/restful/module.py index cad8fe581e5..d73973afe42 100644 --- a/src/pybind/mgr/restful/module.py +++ b/src/pybind/mgr/restful/module.py @@ -250,6 +250,7 @@ class Module(MgrModule): def serve(self): + self.log.debug('serve enter') while not self.stop_server: try: self._serve() @@ -262,6 +263,7 @@ class Module(MgrModule): # Wait and clear the threading event self.serve_event.wait() self.serve_event.clear() + self.log.debug('serve exit') def refresh_keys(self): self.keys = {} @@ -329,19 +331,26 @@ class Module(MgrModule): ), ssl_context=(cert_fname, pkey_fname), ) - - self.server.serve_forever() + if self.stop_server: + self.log.debug('made server, but stop flag set') + else: + self.log.debug('made server, serving forever') + self.server.serve_forever() def shutdown(self): + self.log.debug('shutdown enter') try: self.stop_server = True if self.server: + self.log.debug('calling server.shutdown') self.server.shutdown() + self.log.debug('called server.shutdown') self.serve_event.set() except: self.log.error(str(traceback.format_exc())) raise + self.log.debug('shutdown exit') def restart(self): -- 2.39.5