Merge "Display unique metric names for alarm" into stable/ocata

This commit is contained in:
Zuul 2018-04-17 12:45:35 +00:00 committed by Gerrit Code Review
commit a5342f9681
2 changed files with 23 additions and 4 deletions

View File

@ -65,8 +65,9 @@ def show_alarm_id(data):
return data['id']
def show_metric_name(data):
return data['metrics'][0]['name']
def show_metric_names(data):
names = set(metric['name'] for metric in data['metrics'])
return ', '.join(names)
def show_def_name(data):
@ -227,8 +228,8 @@ class AlarmsTable(tables.DataTable):
filters=[show_status, template.defaultfilters.safe])
name = tables.Column(transform=show_def_name, verbose_name=_('Name'))
alarmId = tables.Column(transform=show_alarm_id, verbose_name=_('Alarm Id'))
metrics = tables.Column(transform=show_metric_name,
verbose_name=_('Metric Name'))
metrics = tables.Column(transform=show_metric_names,
verbose_name=_('Metric Names'))
dimensions = tables.Column(transform=show_metric_dimensions,
verbose_name=_('Metric Dimensions'))

View File

@ -15,6 +15,7 @@ from mock import patch, call # noqa
from monitoring.test import helpers
from monitoring.alarms import constants
from monitoring.alarms import tables
INDEX_URL = urlresolvers.reverse(
@ -47,3 +48,20 @@ class AlarmsTest(helpers.TestCase):
self.assertTemplateUsed(
res, 'monitoring/alarms/alarm.html')
def test_metric_conversion_single(self):
res = tables.show_metric_names({"metrics": [{"name": "mem.used_bytes"}]})
self.assertEqual(res, "mem.used_bytes")
def test_metric_conversion_multiple(self):
res = tables.show_metric_names({"metrics": [{"name": "mem.used_bytes"},
{"name": "mem.total_bytes"}]})
table_res = res.split(', ')
self.assertEqual(len(table_res), 2)
self.assertTrue("mem.used_bytes" in table_res)
self.assertTrue("mem.total_bytes" in table_res)
def test_metric_conversion_unique(self):
res = tables.show_metric_names({"metrics": [{"name": "mem.used_bytes"},
{"name": "mem.used_bytes"}]})
self.assertEqual(res, "mem.used_bytes")