Merge "Use tzutils functions in gnocchi collector"
This commit is contained in:
@@ -31,6 +31,7 @@ from voluptuous import Schema
|
|||||||
|
|
||||||
from cloudkitty import collector
|
from cloudkitty import collector
|
||||||
from cloudkitty import dataframe
|
from cloudkitty import dataframe
|
||||||
|
from cloudkitty import tzutils
|
||||||
from cloudkitty import utils as ck_utils
|
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
|
# FIXME(peschk_l): In order not to miss any resource whose metrics may
|
||||||
# contain measures after its destruction, we scan resources over three
|
# contain measures after its destruction, we scan resources over three
|
||||||
# collect periods.
|
# collect periods.
|
||||||
start -= timedelta(seconds=CONF.collect.period)
|
delta = timedelta(seconds=CONF.collect.period)
|
||||||
end += 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)
|
query_parameters = self._generate_time_filter(start, end)
|
||||||
|
|
||||||
if project_id:
|
if project_id:
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ class TestTZUtils(unittest.TestCase):
|
|||||||
self.assertEqual(tzutils.dt_from_iso(tester, as_utc=True).isoformat(),
|
self.assertEqual(tzutils.dt_from_iso(tester, as_utc=True).isoformat(),
|
||||||
tester_utc)
|
tester_utc)
|
||||||
|
|
||||||
def _test_add_delta(self, obj, tzone):
|
def _test_add_substract_delta(self, obj, tzone):
|
||||||
delta = datetime.timedelta(seconds=3600)
|
delta = datetime.timedelta(seconds=3600)
|
||||||
naive = obj.astimezone(tz.UTC).replace(tzinfo=None)
|
naive = obj.astimezone(tz.UTC).replace(tzinfo=None)
|
||||||
|
|
||||||
@@ -68,16 +68,20 @@ class TestTZUtils(unittest.TestCase):
|
|||||||
tzutils.add_delta(obj, delta).astimezone(tzone),
|
tzutils.add_delta(obj, delta).astimezone(tzone),
|
||||||
(naive + delta).replace(tzinfo=tz.UTC).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')
|
tzone = tz.gettz('Europe/Paris')
|
||||||
obj = datetime.datetime(2019, 3, 31, 1, tzinfo=tzone)
|
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')
|
tzone = tz.gettz('Europe/Paris')
|
||||||
obj = datetime.datetime(2019, 1, 1, tzinfo=tzone)
|
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):
|
def test_get_month_start_no_arg(self):
|
||||||
naive_utc_now = timeutils.utcnow()
|
naive_utc_now = timeutils.utcnow()
|
||||||
|
|||||||
@@ -104,6 +104,11 @@ def add_delta(dt, delta):
|
|||||||
return utc_to_local(local_to_utc(dt, naive=True) + 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):
|
def get_month_start(dt=None, naive=False):
|
||||||
"""Returns the start of the month in the local timezone.
|
"""Returns the start of the month in the local timezone.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user