Correct default usage filtering on overview page

On the overview page, the usage data showed by default was not filtered by
the dates shown on the date selectors. This can lead the user to wrong
conclusions about resource usage.

This patch corrects the default filtering dates to match the dates showed
by default on overview (first day in the month to current date).

Change-Id: I37a240d784ca0826821c125f06922d2c1d1e8659
Closes-Bug: #1294668
This commit is contained in:
Thiago Paiva Brito 2014-03-19 13:53:56 -03:00
parent 38a49a07df
commit 497f69aef3
4 changed files with 17 additions and 24 deletions

View File

@ -79,7 +79,7 @@ class UsageViewTests(test.BaseAdminViewTests):
api.nova.usage_list(IsA(http.HttpRequest),
datetime.datetime(now.year,
now.month,
now.day, 0, 0, 0, 0),
1, 0, 0, 0, 0),
datetime.datetime(now.year,
now.month,
now.day, 23, 59, 59, 0)) \
@ -155,7 +155,7 @@ class UsageViewTests(test.BaseAdminViewTests):
api.nova.usage_list(IsA(http.HttpRequest),
datetime.datetime(now.year,
now.month,
now.day, 0, 0, 0, 0),
1, 0, 0, 0, 0),
datetime.datetime(now.year,
now.month,
now.day, 23, 59, 59, 0)) \

View File

@ -1498,7 +1498,7 @@ class UsageViewTests(test.BaseAdminViewTests):
api.nova.extension_supported(
'SimpleTenantUsage', IsA(http.HttpRequest)) \
.AndReturn(nova_stu_enabled)
start = datetime.datetime(now.year, now.month, now.day, 0, 0, 0, 0)
start = datetime.datetime(now.year, now.month, 1, 0, 0, 0, 0)
end = datetime.datetime(now.year, now.month, now.day, 23, 59, 59, 0)
if nova_stu_enabled:

View File

@ -82,7 +82,7 @@ class UsageViewTests(test.TestCase):
api.nova.usage_get(IsA(http.HttpRequest), self.tenant.id,
datetime.datetime(now.year,
now.month,
now.day, 0, 0, 0, 0),
1, 0, 0, 0, 0),
datetime.datetime(now.year,
now.month,
now.day, 23, 59, 59, 0)) \
@ -124,7 +124,7 @@ class UsageViewTests(test.TestCase):
api.nova.usage_get(IsA(http.HttpRequest), self.tenant.id,
datetime.datetime(now.year,
now.month,
now.day, 0, 0, 0, 0),
1, 0, 0, 0, 0),
datetime.datetime(now.year,
now.month,
now.day, 23, 59, 59, 0)) \
@ -160,7 +160,7 @@ class UsageViewTests(test.TestCase):
api.nova.usage_get(IsA(http.HttpRequest), self.tenant.id,
datetime.datetime(now.year,
now.month,
now.day, 0, 0, 0, 0),
1, 0, 0, 0, 0),
datetime.datetime(now.year,
now.month,
now.day, 23, 59, 59, 0)) \
@ -190,7 +190,7 @@ class UsageViewTests(test.TestCase):
api.nova.extension_supported(
'SimpleTenantUsage', IsA(http.HttpRequest)) \
.AndReturn(nova_stu_enabled)
start = datetime.datetime(now.year, now.month, now.day, 0, 0, 0, 0)
start = datetime.datetime(now.year, now.month, 1, 0, 0, 0, 0)
end = datetime.datetime(now.year, now.month, now.day, 23, 59, 59, 0)
if nova_stu_enabled:
@ -209,7 +209,7 @@ class UsageViewTests(test.TestCase):
def test_usage_exception_usage(self):
now = timezone.now()
start = datetime.datetime(now.year, now.month, now.day, 0, 0, 0, 0)
start = datetime.datetime(now.year, now.month, 1, 0, 0, 0, 0)
end = datetime.datetime(now.year, now.month, now.day, 23, 59, 59, 0)
self._stub_nova_api_calls()
api.nova.extension_supported(
@ -235,7 +235,7 @@ class UsageViewTests(test.TestCase):
api.nova.extension_supported(
'SimpleTenantUsage', IsA(http.HttpRequest)) \
.AndReturn(True)
start = datetime.datetime(now.year, now.month, now.day, 0, 0, 0, 0)
start = datetime.datetime(now.year, now.month, 1, 0, 0, 0, 0)
end = datetime.datetime(now.year, now.month, now.day, 23, 59, 59, 0)
api.nova.usage_get(IsA(http.HttpRequest),
self.tenant.id,
@ -257,7 +257,7 @@ class UsageViewTests(test.TestCase):
api.nova.extension_supported(
'SimpleTenantUsage', IsA(http.HttpRequest)) \
.AndReturn(True)
start = datetime.datetime(now.year, now.month, now.day, 0, 0, 0, 0)
start = datetime.datetime(now.year, now.month, 1, 0, 0, 0, 0)
end = datetime.datetime(now.year, now.month, now.day, 23, 59, 59, 0)
api.nova.usage_get(IsA(http.HttpRequest),
self.tenant.id,
@ -288,7 +288,7 @@ class UsageViewTests(test.TestCase):
'SimpleTenantUsage', IsA(http.HttpRequest)) \
.AndReturn(True)
self.mox.StubOutWithMock(api.neutron, 'tenant_quota_get')
start = datetime.datetime(now.year, now.month, now.day, 0, 0, 0, 0)
start = datetime.datetime(now.year, now.month, 1, 0, 0, 0, 0)
end = datetime.datetime(now.year, now.month, now.day, 23, 59, 59, 0)
api.nova.usage_get(IsA(http.HttpRequest),
self.tenant.id,
@ -333,7 +333,7 @@ class UsageViewTests(test.TestCase):
'SimpleTenantUsage', IsA(http.HttpRequest)) \
.AndReturn(True)
start = datetime.datetime(now.year, now.month, now.day, 0, 0, 0, 0)
start = datetime.datetime(now.year, now.month, 1, 0, 0, 0, 0)
end = datetime.datetime(now.year, now.month, now.day, 23, 59, 59, 0)
api.nova.usage_get(IsA(http.HttpRequest),
self.tenant.id,

View File

@ -57,9 +57,8 @@ class BaseUsage(object):
def get_date_range(self):
if not hasattr(self, "start") or not hasattr(self, "end"):
args_start = args_end = (self.today.year,
self.today.month,
self.today.day)
args_start = (self.today.year, self.today.month, 1)
args_end = (self.today.year, self.today.month, self.today.day)
form = self.get_form()
if form.is_valid():
start = form.cleaned_data['start']
@ -80,15 +79,9 @@ class BaseUsage(object):
def init_form(self):
today = datetime.date.today()
first = datetime.date(day=1, month=today.month, year=today.year)
if today.day in range(5):
self.end = first - datetime.timedelta(days=1)
self.start = datetime.date(day=1,
month=self.end.month,
year=self.end.year)
else:
self.end = today
self.start = first
self.start = datetime.date(day=1, month=today.month, year=today.year)
self.end = today
return self.start, self.end
def get_form(self):