Merge "alarm: rename counter_name to meter_name"
This commit is contained in:
@@ -30,7 +30,7 @@ AN_ALARM = {u'alarm_actions': [u'http://site:8000/alarm'],
|
|||||||
u'evaluation_periods': 2,
|
u'evaluation_periods': 2,
|
||||||
u'timestamp': u'2013-05-09T13:41:23.085000',
|
u'timestamp': u'2013-05-09T13:41:23.085000',
|
||||||
u'enabled': True,
|
u'enabled': True,
|
||||||
u'counter_name': u'storage.objects',
|
u'meter_name': u'storage.objects',
|
||||||
u'period': 240.0,
|
u'period': 240.0,
|
||||||
u'alarm_id': u'alarm-id',
|
u'alarm_id': u'alarm-id',
|
||||||
u'state': u'ok',
|
u'state': u'ok',
|
||||||
@@ -49,6 +49,7 @@ del CREATE_ALARM['state_timestamp']
|
|||||||
del CREATE_ALARM['alarm_id']
|
del CREATE_ALARM['alarm_id']
|
||||||
DELTA_ALARM = {u'alarm_actions': ['url1', 'url2'],
|
DELTA_ALARM = {u'alarm_actions': ['url1', 'url2'],
|
||||||
u'comparison_operator': u'lt',
|
u'comparison_operator': u'lt',
|
||||||
|
u'meter_name': u'foobar',
|
||||||
u'threshold': 42.1}
|
u'threshold': 42.1}
|
||||||
UPDATED_ALARM = copy.deepcopy(AN_ALARM)
|
UPDATED_ALARM = copy.deepcopy(AN_ALARM)
|
||||||
UPDATED_ALARM.update(DELTA_ALARM)
|
UPDATED_ALARM.update(DELTA_ALARM)
|
||||||
@@ -144,6 +145,18 @@ class AlarmManagerTest(testtools.TestCase):
|
|||||||
self.assertEqual(self.api.calls, expect)
|
self.assertEqual(self.api.calls, expect)
|
||||||
self.assertTrue(alarm)
|
self.assertTrue(alarm)
|
||||||
|
|
||||||
|
def test_create_legacy(self):
|
||||||
|
create = {}
|
||||||
|
create.update(CREATE_ALARM)
|
||||||
|
create['counter_name'] = CREATE_ALARM['meter_name']
|
||||||
|
del create['meter_name']
|
||||||
|
alarm = self.mgr.create(**create)
|
||||||
|
expect = [
|
||||||
|
('POST', '/v2/alarms', {}, CREATE_ALARM),
|
||||||
|
]
|
||||||
|
self.assertEqual(self.api.calls, expect)
|
||||||
|
self.assertTrue(alarm)
|
||||||
|
|
||||||
def test_update(self):
|
def test_update(self):
|
||||||
alarm = self.mgr.update(alarm_id='alarm-id', **DELTA_ALARM)
|
alarm = self.mgr.update(alarm_id='alarm-id', **DELTA_ALARM)
|
||||||
expect = [
|
expect = [
|
||||||
@@ -155,6 +168,21 @@ class AlarmManagerTest(testtools.TestCase):
|
|||||||
for (key, value) in DELTA_ALARM.iteritems():
|
for (key, value) in DELTA_ALARM.iteritems():
|
||||||
self.assertEqual(getattr(alarm, key), value)
|
self.assertEqual(getattr(alarm, key), value)
|
||||||
|
|
||||||
|
def test_update_legacy(self):
|
||||||
|
delta = {}
|
||||||
|
delta.update(DELTA_ALARM)
|
||||||
|
delta['counter_name'] = DELTA_ALARM['meter_name']
|
||||||
|
del delta['meter_name']
|
||||||
|
alarm = self.mgr.update(alarm_id='alarm-id', **delta)
|
||||||
|
expect = [
|
||||||
|
('PUT', '/v2/alarms/alarm-id', {}, DELTA_ALARM),
|
||||||
|
]
|
||||||
|
self.assertEqual(self.api.calls, expect)
|
||||||
|
self.assertTrue(alarm)
|
||||||
|
self.assertEqual(alarm.alarm_id, 'alarm-id')
|
||||||
|
for (key, value) in DELTA_ALARM.iteritems():
|
||||||
|
self.assertEqual(getattr(alarm, key), value)
|
||||||
|
|
||||||
def test_delete(self):
|
def test_delete(self):
|
||||||
deleted = self.mgr.delete(alarm_id='victim-id')
|
deleted = self.mgr.delete(alarm_id='victim-id')
|
||||||
expect = [
|
expect = [
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
import warnings
|
||||||
|
|
||||||
from ceilometerclient.common import base
|
from ceilometerclient.common import base
|
||||||
from ceilometerclient.v2 import options
|
from ceilometerclient.v2 import options
|
||||||
|
|
||||||
@@ -26,7 +28,7 @@ UPDATABLE_ATTRIBUTES = [
|
|||||||
'evaluation_periods',
|
'evaluation_periods',
|
||||||
'state',
|
'state',
|
||||||
'enabled',
|
'enabled',
|
||||||
'counter_name',
|
'meter_name',
|
||||||
'statistic',
|
'statistic',
|
||||||
'comparison_operator',
|
'comparison_operator',
|
||||||
'threshold',
|
'threshold',
|
||||||
@@ -60,12 +62,22 @@ class AlarmManager(base.Manager):
|
|||||||
except IndexError:
|
except IndexError:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _compat_counter_rename_kwargs(kwargs):
|
||||||
|
# NOTE(jd) Compatibility with Havana-2 API
|
||||||
|
if 'counter_name' in kwargs:
|
||||||
|
warnings.warn("counter_name has been renamed to meter_name",
|
||||||
|
DeprecationWarning)
|
||||||
|
kwargs['meter_name'] = kwargs['counter_name']
|
||||||
|
|
||||||
def create(self, **kwargs):
|
def create(self, **kwargs):
|
||||||
|
self._compat_counter_rename_kwargs(kwargs)
|
||||||
new = dict((key, value) for (key, value) in kwargs.items()
|
new = dict((key, value) for (key, value) in kwargs.items()
|
||||||
if key in CREATION_ATTRIBUTES)
|
if key in CREATION_ATTRIBUTES)
|
||||||
return self._create(self._path(), new)
|
return self._create(self._path(), new)
|
||||||
|
|
||||||
def update(self, alarm_id, **kwargs):
|
def update(self, alarm_id, **kwargs):
|
||||||
|
self._compat_counter_rename_kwargs(kwargs)
|
||||||
updated = dict((key, value) for (key, value) in kwargs.items()
|
updated = dict((key, value) for (key, value) in kwargs.items()
|
||||||
if key in UPDATABLE_ATTRIBUTES)
|
if key in UPDATABLE_ATTRIBUTES)
|
||||||
return self._update(self._path(alarm_id), updated)
|
return self._update(self._path(alarm_id), updated)
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ def do_alarm_list(cc, args={}):
|
|||||||
field_labels = ['Name', 'Description', 'Metric', 'Period', 'Count',
|
field_labels = ['Name', 'Description', 'Metric', 'Period', 'Count',
|
||||||
'Threshold', 'Comparison', 'State', 'Enabled', 'Alarm ID',
|
'Threshold', 'Comparison', 'State', 'Enabled', 'Alarm ID',
|
||||||
'User ID', 'Project ID']
|
'User ID', 'Project ID']
|
||||||
fields = ['name', 'description', 'counter_name', 'period',
|
fields = ['name', 'description', 'meter_name', 'period',
|
||||||
'evaluation_periods', 'threshold', 'comparison_operator',
|
'evaluation_periods', 'threshold', 'comparison_operator',
|
||||||
'state', 'enabled', 'alarm_id', 'user_id', 'project_id']
|
'state', 'enabled', 'alarm_id', 'user_id', 'project_id']
|
||||||
utils.print_list(alarms, fields, field_labels,
|
utils.print_list(alarms, fields, field_labels,
|
||||||
@@ -144,7 +144,7 @@ def do_alarm_list(cc, args={}):
|
|||||||
|
|
||||||
|
|
||||||
def _display_alarm(alarm):
|
def _display_alarm(alarm):
|
||||||
fields = ['name', 'description', 'counter_name', 'period',
|
fields = ['name', 'description', 'meter_name', 'period',
|
||||||
'evaluation_periods', 'threshold', 'comparison_operator',
|
'evaluation_periods', 'threshold', 'comparison_operator',
|
||||||
'state', 'enabled', 'alarm_id', 'user_id', 'project_id',
|
'state', 'enabled', 'alarm_id', 'user_id', 'project_id',
|
||||||
'alarm_actions', 'ok_actions', 'insufficient_data_actions',
|
'alarm_actions', 'ok_actions', 'insufficient_data_actions',
|
||||||
@@ -185,7 +185,7 @@ def do_alarm_show(cc, args={}):
|
|||||||
help='State of the alarm, one of: ' + str(ALARM_STATES))
|
help='State of the alarm, one of: ' + str(ALARM_STATES))
|
||||||
@utils.arg('--enabled', type=utils.string_to_bool, metavar='{True|False}',
|
@utils.arg('--enabled', type=utils.string_to_bool, metavar='{True|False}',
|
||||||
help='True if alarm evaluation/actioning is enabled')
|
help='True if alarm evaluation/actioning is enabled')
|
||||||
@utils.arg('--counter-name', metavar='<METRIC>',
|
@utils.arg('--meter-name', metavar='<METRIC>',
|
||||||
help='Metric to evaluate against')
|
help='Metric to evaluate against')
|
||||||
@utils.arg('--statistic', metavar='<STATISTIC>',
|
@utils.arg('--statistic', metavar='<STATISTIC>',
|
||||||
help='Statistic to evaluate, one of: ' + str(STATISTICS))
|
help='Statistic to evaluate, one of: ' + str(STATISTICS))
|
||||||
@@ -212,7 +212,7 @@ def do_alarm_show(cc, args={}):
|
|||||||
@utils.arg('--matching-metadata', dest='matching_metadata',
|
@utils.arg('--matching-metadata', dest='matching_metadata',
|
||||||
metavar='<Matching Metadata>', action='append', default=None,
|
metavar='<Matching Metadata>', action='append', default=None,
|
||||||
help=('A meter should match this resource metadata (key=value) '
|
help=('A meter should match this resource metadata (key=value) '
|
||||||
'additionally to the counter_name'))
|
'additionally to the meter_name'))
|
||||||
def do_alarm_create(cc, args={}):
|
def do_alarm_create(cc, args={}):
|
||||||
'''Create a new alarm.'''
|
'''Create a new alarm.'''
|
||||||
fields = dict(filter(lambda x: not (x[1] is None), vars(args).items()))
|
fields = dict(filter(lambda x: not (x[1] is None), vars(args).items()))
|
||||||
@@ -233,7 +233,7 @@ def do_alarm_create(cc, args={}):
|
|||||||
help='State of the alarm, one of: ' + str(ALARM_STATES))
|
help='State of the alarm, one of: ' + str(ALARM_STATES))
|
||||||
@utils.arg('--enabled', type=utils.string_to_bool, metavar='{True|False}',
|
@utils.arg('--enabled', type=utils.string_to_bool, metavar='{True|False}',
|
||||||
help='True if alarm evaluation/actioning is enabled')
|
help='True if alarm evaluation/actioning is enabled')
|
||||||
@utils.arg('--counter-name', metavar='<METRIC>',
|
@utils.arg('--meter-name', metavar='<METRIC>',
|
||||||
help='Metric to evaluate against')
|
help='Metric to evaluate against')
|
||||||
@utils.arg('--statistic', metavar='<STATISTIC>',
|
@utils.arg('--statistic', metavar='<STATISTIC>',
|
||||||
help='Statistic to evaluate, one of: ' + str(STATISTICS))
|
help='Statistic to evaluate, one of: ' + str(STATISTICS))
|
||||||
@@ -260,7 +260,7 @@ def do_alarm_create(cc, args={}):
|
|||||||
@utils.arg('--matching-metadata', dest='matching_metadata',
|
@utils.arg('--matching-metadata', dest='matching_metadata',
|
||||||
metavar='<Matching Metadata>', action='append', default=None,
|
metavar='<Matching Metadata>', action='append', default=None,
|
||||||
help=('A meter should match this resource metadata (key=value) '
|
help=('A meter should match this resource metadata (key=value) '
|
||||||
'additionally to the counter_name'))
|
'additionally to the meter_name'))
|
||||||
def do_alarm_update(cc, args={}):
|
def do_alarm_update(cc, args={}):
|
||||||
'''Update an existing alarm.'''
|
'''Update an existing alarm.'''
|
||||||
fields = dict(filter(lambda x: not (x[1] is None), vars(args).items()))
|
fields = dict(filter(lambda x: not (x[1] is None), vars(args).items()))
|
||||||
|
|||||||
Reference in New Issue
Block a user