]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: deploy crash daemons
authorSage Weil <sage@redhat.com>
Sun, 1 Mar 2020 17:38:51 +0000 (11:38 -0600)
committerSage Weil <sage@redhat.com>
Mon, 2 Mar 2020 16:30:51 +0000 (10:30 -0600)
Signed-off-by: Sage Weil <sage@redhat.com>
src/pybind/mgr/cephadm/module.py

index 3645b99e7bdd3ae1b201cf72bfbedee89f99da74..1093677b513412ce7940926838102e784af25346 100644 (file)
@@ -2089,6 +2089,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
             'alertmanager': self._create_alertmanager,
             'prometheus': self._create_prometheus,
             'node-exporter': self._create_node_exporter,
+            'crash': self._create_crash,
         }
         config_fns = {
             'mds': self._config_mds,
@@ -2531,6 +2532,24 @@ receivers:
     def _create_node_exporter(self, daemon_id, host):
         return self._create_daemon('node-exporter', daemon_id, host)
 
+    def add_crash(self, spec):
+        # type: (orchestrator.ServiceSpec) -> AsyncCompletion
+        return self._add_daemon('crash', spec,
+                                self._create_crash)
+
+    def apply_crash(self, spec):
+        return self._apply(spec)
+
+    @async_map_completion
+    def _create_crash(self, daemon_id, host):
+        ret, keyring, err = self.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: (orchestrator.ServiceSpec) -> AsyncCompletion
         return self._add_daemon('grafana', spec, self._create_grafana)