From 95952995f05e27853cb761e9441047922b50196c Mon Sep 17 00:00:00 2001 From: Sebastian Wagner Date: Mon, 4 May 2020 14:36:03 +0200 Subject: [PATCH] mgr/cephadm: Add CrashService Signed-off-by: Sebastian Wagner --- src/pybind/mgr/cephadm/module.py | 16 ++++------------ .../mgr/cephadm/services/cephadmservice.py | 11 +++++++++++ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/pybind/mgr/cephadm/module.py b/src/pybind/mgr/cephadm/module.py index 44c36fce428b7..61c40da32ed53 100644 --- a/src/pybind/mgr/cephadm/module.py +++ b/src/pybind/mgr/cephadm/module.py @@ -37,7 +37,7 @@ from orchestrator import OrchestratorError, OrchestratorValidationError, HostSpe from . import remotes from . import utils from .services.cephadmservice import MonService, MgrService, MdsService, RgwService, \ - RbdMirrorService + RbdMirrorService, CrashService from .services.nfs import NFSService from .services.osd import RemoveUtil, OSDRemoval, OSDService from .services.monitoring import GrafanaService, AlertmanagerService, PrometheusService, \ @@ -433,6 +433,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule): self.alertmanager_service = AlertmanagerService(self) self.prometheus_service = PrometheusService(self) self.node_exporter_service = NodeExporterService(self) + self.crash_service = CrashService(self) def shutdown(self): self.log.debug('shutdown') @@ -1946,7 +1947,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule): 'alertmanager': self.alertmanager_service.create, 'prometheus': self.prometheus_service.create, 'node-exporter': self.node_exporter_service.create, - 'crash': self._create_crash, + 'crash': self.crash_service.create, 'iscsi': self._create_iscsi, } config_fns = { @@ -2352,21 +2353,12 @@ api_secure = {api_secure} def add_crash(self, spec): # type: (ServiceSpec) -> AsyncCompletion return self._add_daemon('crash', spec, - self._create_crash) + self.crash_service.create) @trivial_completion def apply_crash(self, spec): return self._apply(spec) - def _create_crash(self, daemon_id, host): - ret, keyring, err = self.check_mon_command({ - 'prefix': 'auth get-or-create', - 'entity': 'client.crash.' + host, - 'caps': ['mon', 'profile crash', - 'mgr', 'profile crash'], - }) - return self._create_daemon('crash', daemon_id, host, keyring=keyring) - def add_grafana(self, spec): # type: (ServiceSpec) -> AsyncCompletion return self._add_daemon('grafana', spec, self.grafana_service.create) diff --git a/src/pybind/mgr/cephadm/services/cephadmservice.py b/src/pybind/mgr/cephadm/services/cephadmservice.py index 4c3874d8f2d3e..a810026810aff 100644 --- a/src/pybind/mgr/cephadm/services/cephadmservice.py +++ b/src/pybind/mgr/cephadm/services/cephadmservice.py @@ -169,3 +169,14 @@ class RbdMirrorService(CephadmService): }) return self.mgr._create_daemon('rbd-mirror', daemon_id, host, keyring=keyring) + + +class CrashService(CephadmService): + def create(self, daemon_id, host) -> str: + ret, keyring, err = self.mgr.check_mon_command({ + 'prefix': 'auth get-or-create', + 'entity': 'client.crash.' + host, + 'caps': ['mon', 'profile crash', + 'mgr', 'profile crash'], + }) + return self.mgr._create_daemon('crash', daemon_id, host, keyring=keyring) -- 2.39.5