Merge "Use tzutils functions in gnocchi collector"

This commit is contained in:
Zuul
2019-09-12 16:18:12 +00:00
committed by Gerrit Code Review
3 changed files with 18 additions and 7 deletions

View File

@@ -31,6 +31,7 @@ from voluptuous import Schema
from cloudkitty import collector
from cloudkitty import dataframe
from cloudkitty import tzutils
from cloudkitty import utils as ck_utils
@@ -251,8 +252,9 @@ class GnocchiCollector(collector.BaseCollector):
# FIXME(peschk_l): In order not to miss any resource whose metrics may
# contain measures after its destruction, we scan resources over three
# collect periods.
start -= timedelta(seconds=CONF.collect.period)
end += timedelta(seconds=CONF.collect.period)
delta = timedelta(seconds=CONF.collect.period)
start = tzutils.substract_delta(start, delta)
end = tzutils.add_delta(end, delta)
query_parameters = self._generate_time_filter(start, end)
if project_id:

View File

@@ -60,7 +60,7 @@ class TestTZUtils(unittest.TestCase):
self.assertEqual(tzutils.dt_from_iso(tester, as_utc=True).isoformat(),
tester_utc)
def _test_add_delta(self, obj, tzone):
def _test_add_substract_delta(self, obj, tzone):
delta = datetime.timedelta(seconds=3600)
naive = obj.astimezone(tz.UTC).replace(tzinfo=None)
@@ -68,16 +68,20 @@ class TestTZUtils(unittest.TestCase):
tzutils.add_delta(obj, delta).astimezone(tzone),
(naive + delta).replace(tzinfo=tz.UTC).astimezone(tzone),
)
self.assertEqual(
tzutils.substract_delta(obj, delta).astimezone(tzone),
(naive - delta).replace(tzinfo=tz.UTC).astimezone(tzone),
)
def test_add_delta_summertime(self):
def test_add_substract_delta_summertime(self):
tzone = tz.gettz('Europe/Paris')
obj = datetime.datetime(2019, 3, 31, 1, tzinfo=tzone)
self._test_add_delta(obj, tzone)
self._test_add_substract_delta(obj, tzone)
def test_add_delta(self):
def test_add_substract_delta(self):
tzone = tz.gettz('Europe/Paris')
obj = datetime.datetime(2019, 1, 1, tzinfo=tzone)
self._test_add_delta(obj, tzone)
self._test_add_substract_delta(obj, tzone)
def test_get_month_start_no_arg(self):
naive_utc_now = timeutils.utcnow()

View File

@@ -104,6 +104,11 @@ def add_delta(dt, delta):
return utc_to_local(local_to_utc(dt, naive=True) + delta)
def substract_delta(dt, delta):
"""Substracts a timedelta from a datetime object."""
return utc_to_local(local_to_utc(dt, naive=True) - delta)
def get_month_start(dt=None, naive=False):
"""Returns the start of the month in the local timezone.