]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/orch: add crash hooks
authorSage Weil <sage@redhat.com>
Sun, 1 Mar 2020 17:38:42 +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/orchestrator/_interface.py
src/pybind/mgr/orchestrator/module.py

index 198771f21cde17ecc9902d1e1bdf6f7bb7e562cb..de285f64c60e00bc9fd7c38b4f36f966ea37fb88 100644 (file)
@@ -1104,6 +1104,16 @@ class Orchestrator(object):
         """Update existing a Node-Exporter daemon(s)"""
         raise NotImplementedError()
 
+    def add_crash(self, spec):
+        # type: (ServiceSpec) -> Completion
+        """Create a new crash service"""
+        raise NotImplementedError()
+
+    def apply_crash(self, spec):
+        # type: (ServiceSpec) -> Completion
+        """Update existing a crash daemon(s)"""
+        raise NotImplementedError()
+
     def add_grafana(self, spec):
         # type: (ServiceSpec) -> Completion
         """Create a new Node-Exporter service"""
index 6f9dfc11dca3427502ba046210b7896ab9424405..bcc43f20bd350474d5d10635f3138250f9c4502c 100644 (file)
@@ -638,6 +638,19 @@ Usage:
         self._orchestrator_wait([completion])
         return HandleCommandResult(stdout=completion.result_str())
 
+    @_cli_write_command(
+        'orch daemon add crash',
+        'name=placement,type=CephString,n=N,req=false',
+        'Add node-exporter daemon(s)')
+    def _daemon_add_crash(self, placement=None):
+        spec = ServiceSpec(
+            'crash',
+            placement=PlacementSpec.from_strings(placement),
+        )
+        completion = self.add_crash(spec)
+        self._orchestrator_wait([completion])
+        return HandleCommandResult(stdout=completion.result_str())
+
     @_cli_write_command(
         'orch daemon add grafana',
         'name=placement,type=CephString,n=N,req=false',
@@ -844,6 +857,19 @@ Usage:
         self._orchestrator_wait([completion])
         return HandleCommandResult(stdout=completion.result_str())
 
+    @_cli_write_command(
+        'orch apply crash',
+        'name=placement,type=CephString,n=N,req=false',
+        'Update node_exporter service')
+    def _apply_crash(self, placement=None):
+        spec = ServiceSpec(
+            'crash',
+            placement=PlacementSpec.from_strings(placement),
+        )
+        completion = self.apply_crash(spec)
+        self._orchestrator_wait([completion])
+        return HandleCommandResult(stdout=completion.result_str())
+
     @_cli_write_command(
         'orch set backend',
         "name=module_name,type=CephString,req=true",