From: Wido den Hollander Date: Mon, 2 Jul 2018 14:36:52 +0000 (+0200) Subject: mgr: Ignore daemon if no metadata was returned X-Git-Tag: v13.2.2~100^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F23356%2Fhead;p=ceph.git mgr: Ignore daemon if no metadata was returned 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 (cherry picked from commit 02569c88341a6dcc8aee5626f10ac2927c2cf064) --- diff --git a/src/pybind/mgr/influx/module.py b/src/pybind/mgr/influx/module.py index 09c93af370ef..379668a81a80 100644 --- a/src/pybind/mgr/influx/module.py +++ b/src/pybind/mgr/influx/module.py @@ -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", diff --git a/src/pybind/mgr/telegraf/module.py b/src/pybind/mgr/telegraf/module.py index ab47f39528fc..179e67ff2fa0 100644 --- a/src/pybind/mgr/telegraf/module.py +++ b/src/pybind/mgr/telegraf/module.py @@ -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: