]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr: Ignore daemon if no metadata was returned 23356/head
authorWido den Hollander <wido@42on.com>
Mon, 2 Jul 2018 14:36:52 +0000 (16:36 +0200)
committerWido den Hollander <wido@42on.com>
Tue, 31 Jul 2018 21:25:56 +0000 (23:25 +0200)
It can happen that the Mgr does not return any metadata for a given
daemon as it might not be available at that moment.

None is returned by the get_metadata() method at that moment and both
the Influx and Telegraf module should then ignore the daemon in their
statistics and continue on to the next daemon.

Signed-off-by: Wido den Hollander <wido@42on.com>
(cherry picked from commit 02569c88341a6dcc8aee5626f10ac2927c2cf064)

src/pybind/mgr/influx/module.py
src/pybind/mgr/telegraf/module.py

index 09c93af370ef981ff34311f10c4de2f60103b2e0..379668a81a803945954d66fb8cf76194d8ced39e 100644 (file)
@@ -152,6 +152,9 @@ class Module(MgrModule):
         data = []
         for osd_id, stats in six.iteritems(osd_sum):
             metadata = self.get_metadata('osd', "%s" % osd_id)
+            if not metadata:
+                continue
+
             for stat in stats:
                 point_1 = {
                     "measurement": "ceph_pg_summary_osd",
index ab47f39528fc71cd030a66aede52d1be554fffd6..179e67ff2fa006db7ffd80d8b80f427c6be3f1f7 100644 (file)
@@ -110,6 +110,8 @@ class Module(MgrModule):
         for daemon, counters in six.iteritems(self.get_all_perf_counters()):
             svc_type, svc_id = daemon.split('.', 1)
             metadata = self.get_metadata(svc_type, svc_id)
+            if not metadata:
+                continue
 
             for path, counter_info in counters.items():
                 if counter_info['type'] & self.PERFCOUNTER_HISTOGRAM: