From: Michael Fritch Date: Fri, 11 Sep 2020 14:10:17 +0000 (-0600) Subject: mgr/cephadm: add `post_remove` daemon action X-Git-Tag: v16.1.0~1117^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a0cefab9e5c443abaddecdab3da4189fca4f8144;p=ceph.git mgr/cephadm: add `post_remove` daemon action invoked after a daemon has been removed Signed-off-by: Michael Fritch --- diff --git a/src/pybind/mgr/cephadm/module.py b/src/pybind/mgr/cephadm/module.py index bf37872f55e..d188637baa4 100644 --- a/src/pybind/mgr/cephadm/module.py +++ b/src/pybind/mgr/cephadm/module.py @@ -2055,6 +2055,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 648ca1c931e..73b7c88d3c5 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