From c9991a7a18b20b6c0e185772ebba24c6b6970090 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 5 Sep 2016 13:40:20 +0200 Subject: [PATCH] latency: Silence "no replies received" when no IPv6 connectivity This will just clutter the log files Signed-off-by: Michael Tremer --- src/_collecty/_collectymodule.c | 4 ++++ src/_collecty/_collectymodule.h | 1 + src/_collecty/ping.c | 2 +- src/collecty/plugins/latency.py | 5 +++++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/_collecty/_collectymodule.c b/src/_collecty/_collectymodule.c index 25b1979..08462cb 100644 --- a/src/_collecty/_collectymodule.c +++ b/src/_collecty/_collectymodule.c @@ -66,6 +66,10 @@ PyMODINIT_FUNC PyInit__collecty(void) { Py_INCREF(PyExc_PingAddHostError); PyModule_AddObject(m, "PingAddHostError", PyExc_PingAddHostError); + PyExc_PingNoReplyError = PyErr_NewException("_collecty.PingNoReplyError", NULL, NULL); + Py_INCREF(PyExc_PingNoReplyError); + PyModule_AddObject(m, "PingNoReplyError", PyExc_PingNoReplyError); + Py_INCREF(&SensorType); PyModule_AddObject(m, "Sensor", (PyObject*)&SensorType); diff --git a/src/_collecty/_collectymodule.h b/src/_collecty/_collectymodule.h index f34a314..56282f1 100644 --- a/src/_collecty/_collectymodule.h +++ b/src/_collecty/_collectymodule.h @@ -59,6 +59,7 @@ PyObject* BlockDevice_get_temperature(PyObject* self); /* ping */ PyObject* PyExc_PingError; PyObject* PyExc_PingAddHostError; +PyObject* PyExc_PingNoReplyError; typedef struct { PyObject_HEAD diff --git a/src/_collecty/ping.c b/src/_collecty/ping.c index 6ed5590..1d66e2f 100644 --- a/src/_collecty/ping.c +++ b/src/_collecty/ping.c @@ -294,7 +294,7 @@ PyObject* Ping_ping(PingObject* self, PyObject* args, PyObject* kwds) { } if (self->stats.packets_rcvd == 0) { - PyErr_Format(PyExc_PingError, "No replies received from %s", self->host); + PyErr_Format(PyExc_PingNoReplyError, "No replies received from %s", self->host); return NULL; } diff --git a/src/collecty/plugins/latency.py b/src/collecty/plugins/latency.py index a2c12ad..0ef70eb 100644 --- a/src/collecty/plugins/latency.py +++ b/src/collecty/plugins/latency.py @@ -159,6 +159,11 @@ class LatencyObject(base.Object): result += (None, None, None) continue + except collecty._collecty.PingNoReplyError: + # Unknown but 100% loss + result += (None, None, 1) + continue + except collecty._collecty.PingError as e: self.log.warning(_("Could not run latency check for %(host)s: %(msg)s") \ % { "host" : self.hostname, "msg" : e }) -- 2.39.2