From 294bcb3ab43eb47b19ebcccabbf0e03e2041cedc Mon Sep 17 00:00:00 2001 From: Luka Peschke Date: Wed, 4 Sep 2019 17:29:59 +0200 Subject: [PATCH] Convert timestamps to strs before passing them to gnocchiclient It seems like the way gnocchiclient serializes timezone-aware datetime objects causes punctual random failures from gnocchi's API. Converting datetime objects to strings before passing them to gnocchiclient solves this issue. Change-Id: Ifb874597c59f3f4dbd5fcb67edac3e456dd106e7 --- cloudkitty/collector/gnocchi.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cloudkitty/collector/gnocchi.py b/cloudkitty/collector/gnocchi.py index 5fe05084..94c0f715 100644 --- a/cloudkitty/collector/gnocchi.py +++ b/cloudkitty/collector/gnocchi.py @@ -220,10 +220,10 @@ class GnocchiCollector(collector.BaseCollector): time_filter = list() time_filter.append(self.extend_filter( self.gen_filter(ended_at=None), - self.gen_filter(cop=">=", ended_at=start), + self.gen_filter(cop=">=", ended_at=start.isoformat()), lop='or')) time_filter.append( - self.gen_filter(cop="<=", started_at=end)) + self.gen_filter(cop="<=", started_at=end.isoformat())) return time_filter def _fetch_resources(self, metric_name, start, end,