summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tuskar_ui/infrastructure/nodes/views.py2
-rw-r--r--tuskar_ui/infrastructure/roles/views.py3
-rw-r--r--tuskar_ui/utils/metering.py6
-rw-r--r--tuskar_ui/utils/tests.py4
4 files changed, 9 insertions, 6 deletions
diff --git a/tuskar_ui/infrastructure/nodes/views.py b/tuskar_ui/infrastructure/nodes/views.py
index 44ed414b..6596a773 100644
--- a/tuskar_ui/infrastructure/nodes/views.py
+++ b/tuskar_ui/infrastructure/nodes/views.py
@@ -185,7 +185,7 @@ class PerformanceView(base.TemplateView):
instance_uuid = None
json_output = metering_utils.get_nodes_stats(
- request, node_uuid, instance_uuid, meter,
+ request, node_uuid, instance_uuid, image_uuid=None, meter=meter,
date_options=date_options, date_from=date_from, date_to=date_to,
stats_attr=stats_attr, barchart=barchart)
diff --git a/tuskar_ui/infrastructure/roles/views.py b/tuskar_ui/infrastructure/roles/views.py
index 7d3760cd..9c7baa1e 100644
--- a/tuskar_ui/infrastructure/roles/views.py
+++ b/tuskar_ui/infrastructure/roles/views.py
@@ -179,7 +179,8 @@ class PerformanceView(base.TemplateView, views.RoleMixin, views.StackMixin):
json_output = None
else:
json_output = metering_utils.get_nodes_stats(
- request, image_uuid, meter, date_options=date_options,
+ request, node_uuid=None, instance_uuid=None,
+ image_uuid=image_uuid, meter=meter, date_options=date_options,
date_from=date_from, date_to=date_to, stats_attr=stats_attr,
barchart=barchart, group_by='image_id')
diff --git a/tuskar_ui/utils/metering.py b/tuskar_ui/utils/metering.py
index ac6c58de..41231056 100644
--- a/tuskar_ui/utils/metering.py
+++ b/tuskar_ui/utils/metering.py
@@ -177,13 +177,13 @@ def create_json_output(series, barchart, unit, date_from, date_to):
return json_output
-def get_nodes_stats(request, node_uuid, instance_uuid, meter,
+def get_nodes_stats(request, node_uuid, instance_uuid, image_uuid, meter,
date_options=None, date_from=None, date_to=None,
stats_attr=None, barchart=None, group_by=None):
series = []
meter_list, unit = get_meter_list_and_unit(request, meter)
- if instance_uuid:
+ if instance_uuid or image_uuid:
if 'ipmi' in meter:
# For IPMI metrics, a resource ID is made of node UUID concatenated
# with the metric description. E.g:
@@ -203,7 +203,7 @@ def get_nodes_stats(request, node_uuid, instance_uuid, meter,
query = {}
image_query = [{"field": "metadata.%s" % group_by,
"op": "eq",
- "value": instance_uuid}]
+ "value": image_uuid}]
query[instance_uuid] = image_query
else:
query = [{'field': 'resource_id',
diff --git a/tuskar_ui/utils/tests.py b/tuskar_ui/utils/tests.py
index 408f916c..2bba88f2 100644
--- a/tuskar_ui/utils/tests.py
+++ b/tuskar_ui/utils/tests.py
@@ -287,7 +287,9 @@ class MeteringTests(helpers.TestCase):
'openstack_dashboard.utils.metering.calc_date_args',
return_value=('from date', 'to date'),
):
- ret = metering.get_nodes_stats(request, 'abc', 'def', 'foo.bar')
+ ret = metering.get_nodes_stats(
+ request, node_uuid='abc', instance_uuid='def', image_uuid=None,
+ meter='foo.bar')
self.assertEqual(ret, '')
self.assertEqual(create_json_output.call_args_list, [
mock.call([], None, '', 'from date', 'to date')