From: Michael Fritch Date: Fri, 11 Sep 2020 14:10:17 +0000 (-0600) Subject: mgr/cephadm: add `post_remove` daemon action X-Git-Tag: v15.2.9~122^2~44^2~34 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=21e158f2e396da8f53de7ee9af938c97f0bd0c7c;p=ceph.git mgr/cephadm: add `post_remove` daemon action invoked after a daemon has been removed Signed-off-by: Michael Fritch (cherry picked from commit a0cefab9e5c443abaddecdab3da4189fca4f8144) --- diff --git a/src/pybind/mgr/cephadm/module.py b/src/pybind/mgr/cephadm/module.py index 68d837da6cc6..0f3b0c9b0e88 100644 --- a/src/pybind/mgr/cephadm/module.py +++ b/src/pybind/mgr/cephadm/module.py @@ -2052,6 +2052,9 @@ To check that the host is reachable: # remove item from cache self.cache.rm_daemon(host, name) self.cache.invalidate_host_daemons(host) + + self.cephadm_services[daemon_type].post_remove(daemon_id) + return "Removed {} from host '{}'".format(name, host) def _config_fn(self, service_type) -> Optional[Callable[[ServiceSpec], None]]: diff --git a/src/pybind/mgr/cephadm/services/cephadmservice.py b/src/pybind/mgr/cephadm/services/cephadmservice.py index 648ca1c931e7..73b7c88d3c5c 100644 --- a/src/pybind/mgr/cephadm/services/cephadmservice.py +++ b/src/pybind/mgr/cephadm/services/cephadmservice.py @@ -216,7 +216,13 @@ class CephadmService(metaclass=ABCMeta): """ Called before the daemon is removed. """ - pass + logger.debug(f'Pre remove daemon {self.TYPE}.{daemon_id}') + + def post_remove(self, daemon_id: str) -> None: + """ + Called after the daemon is removed. + """ + logger.debug(f'Post remove daemon {self.TYPE}.{daemon_id}') class CephService(CephadmService): @@ -354,6 +360,7 @@ class MonService(CephService): 'Removing %s would break mon quorum (new quorum %s, new mons %s)' % (mon_id, new_quorum, new_mons)) def pre_remove(self, daemon_id: str) -> None: + super().pre_remove(daemon_id) self._check_safe_to_destroy(daemon_id) # remove mon from quorum before we destroy the daemon