Remove a daemon
"""
(daemon_type, daemon_id) = name.split('.', 1)
+ daemon = orchestrator.DaemonDescription(
+ daemon_type=daemon_type,
+ daemon_id=daemon_id,
+ hostname=host)
- with set_exception_subject('service', orchestrator.DaemonDescription(
- daemon_type=daemon_type,
- daemon_id=daemon_id,
- hostname=host,
- ).service_id(), overwrite=True):
+ with set_exception_subject('service', daemon.service_id(), overwrite=True):
- self.cephadm_services[daemon_type].pre_remove(daemon_id)
+ self.cephadm_services[daemon_type].pre_remove(daemon)
args = ['--name', name, '--force']
self.log.info('Removing daemon %s from %s' % (name, host))
self.cache.rm_daemon(host, name)
self.cache.invalidate_host_daemons(host)
- self.cephadm_services[daemon_type].post_remove(daemon_id)
+ self.cephadm_services[daemon_type].post_remove(daemon)
return "Removed {} from host '{}'".format(name, host)
logger.info(out)
return HandleCommandResult(r.retval, out, r.stderr)
- def pre_remove(self, daemon_id: str) -> None:
+ def pre_remove(self, daemon: DaemonDescription) -> None:
"""
Called before the daemon is removed.
"""
- logger.debug(f'Pre remove daemon {self.TYPE}.{daemon_id}')
+ assert self.TYPE == daemon.daemon_type
+ logger.debug(f'Pre remove daemon {self.TYPE}.{daemon.daemon_id}')
- def post_remove(self, daemon_id: str) -> None:
+ def post_remove(self, daemon: DaemonDescription) -> None:
"""
Called after the daemon is removed.
"""
- logger.debug(f'Post remove daemon {self.TYPE}.{daemon_id}')
+ assert self.TYPE == daemon.daemon_type
+ logger.debug(f'Post remove daemon {self.TYPE}.{daemon.daemon_id}')
class CephService(CephadmService):
raise OrchestratorError(
'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)
+ def pre_remove(self, daemon: DaemonDescription) -> None:
+ super().pre_remove(daemon)
+
+ daemon_id: str = daemon.daemon_id
self._check_safe_to_destroy(daemon_id)
# remove mon from quorum before we destroy the daemon