]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: Add NodeExporterService
authorSebastian Wagner <sebastian.wagner@suse.com>
Mon, 4 May 2020 12:33:21 +0000 (14:33 +0200)
committerSebastian Wagner <sebastian.wagner@suse.com>
Thu, 7 May 2020 11:06:01 +0000 (13:06 +0200)
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
src/pybind/mgr/cephadm/module.py
src/pybind/mgr/cephadm/services/monitoring.py

index a54f3fc1e375b4badb2fda5e5aa570467b8c289f..44c36fce428b7a6416af9b160860a42edf34e1ee 100644 (file)
@@ -40,7 +40,8 @@ from .services.cephadmservice import MonService, MgrService, MdsService, RgwServ
     RbdMirrorService
 from .services.nfs import NFSService
 from .services.osd import RemoveUtil, OSDRemoval, OSDService
-from .services.monitoring import GrafanaService, AlertmanagerService, PrometheusService
+from .services.monitoring import GrafanaService, AlertmanagerService, PrometheusService, \
+    NodeExporterService
 from .inventory import Inventory, SpecStore, HostCache
 
 try:
@@ -431,6 +432,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
         self.grafana_service = GrafanaService(self)
         self.alertmanager_service = AlertmanagerService(self)
         self.prometheus_service = PrometheusService(self)
+        self.node_exporter_service = NodeExporterService(self)
 
     def shutdown(self):
         self.log.debug('shutdown')
@@ -1943,7 +1945,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
             'grafana': self.grafana_service.create,
             'alertmanager': self.alertmanager_service.create,
             'prometheus': self.prometheus_service.create,
-            'node-exporter': self._create_node_exporter,
+            'node-exporter': self.node_exporter_service.create,
             'crash': self._create_crash,
             'iscsi': self._create_iscsi,
         }
@@ -2341,15 +2343,12 @@ api_secure = {api_secure}
     def add_node_exporter(self, spec):
         # type: (ServiceSpec) -> AsyncCompletion
         return self._add_daemon('node-exporter', spec,
-                                self._create_node_exporter)
+                                self.node_exporter_service.create)
 
     @trivial_completion
     def apply_node_exporter(self, spec):
         return self._apply(spec)
 
-    def _create_node_exporter(self, daemon_id, host):
-        return self._create_daemon('node-exporter', daemon_id, host)
-
     def add_crash(self, spec):
         # type: (ServiceSpec) -> AsyncCompletion
         return self._add_daemon('crash', spec,
index f96ea5a61431dbe548dd1d8e1d6406011516fe0d..27a165ba4bb4c67535eca7f6d5e7d65366ab5684 100644 (file)
@@ -268,3 +268,8 @@ scrape_configs:
             r['files']['/etc/prometheus/alerting/ceph_alerts.yml'] = alerts
 
         return r, sorted(deps)
+
+
+class NodeExporterService(CephadmService):
+    def create(self, daemon_id, host) -> str:
+        return self.mgr._create_daemon('node-exporter', daemon_id, host)