Ensure combination alarms can be evaluated
Fixes bug 1237589 Previously the retrieval of state for the constituent alarms always failed for combination alarms, due to an incorrect attribute of ceilometerclient being used. As a result combination alarms could never be successfully evaluated. Now the correct pluralized attribute is used. Change-Id: Id58a5d185854367e5a08011048774ab5aed93d4e
This commit is contained in:
parent
5a657dd947
commit
f44e292e7a
@ -31,7 +31,7 @@ class CombinationEvaluator(evaluator.Evaluator):
|
|||||||
|
|
||||||
def _get_alarm_state(self, alarm_id):
|
def _get_alarm_state(self, alarm_id):
|
||||||
try:
|
try:
|
||||||
alarm = self._client.alarm.get(alarm_id)
|
alarm = self._client.alarms.get(alarm_id)
|
||||||
except Exception:
|
except Exception:
|
||||||
LOG.exception(_('alarm retrieval failed'))
|
LOG.exception(_('alarm retrieval failed'))
|
||||||
return None
|
return None
|
||||||
|
@ -103,7 +103,7 @@ class TestEvaluate(base.TestEvaluatorBase):
|
|||||||
with mock.patch('ceilometerclient.client.get_client',
|
with mock.patch('ceilometerclient.client.get_client',
|
||||||
return_value=self.api_client):
|
return_value=self.api_client):
|
||||||
broken = exc.CommunicationError(message='broken')
|
broken = exc.CommunicationError(message='broken')
|
||||||
self.api_client.alarm.get.side_effect = [
|
self.api_client.alarms.get.side_effect = [
|
||||||
broken,
|
broken,
|
||||||
broken,
|
broken,
|
||||||
broken,
|
broken,
|
||||||
@ -123,7 +123,7 @@ class TestEvaluate(base.TestEvaluatorBase):
|
|||||||
with mock.patch('ceilometerclient.client.get_client',
|
with mock.patch('ceilometerclient.client.get_client',
|
||||||
return_value=self.api_client):
|
return_value=self.api_client):
|
||||||
broken = exc.CommunicationError(message='broken')
|
broken = exc.CommunicationError(message='broken')
|
||||||
self.api_client.alarm.get.side_effect = broken
|
self.api_client.alarms.get.side_effect = broken
|
||||||
self._evaluate_all_alarms()
|
self._evaluate_all_alarms()
|
||||||
self._assert_all_alarms('insufficient data')
|
self._assert_all_alarms('insufficient data')
|
||||||
expected = [mock.call(alarm.alarm_id, state='insufficient data')
|
expected = [mock.call(alarm.alarm_id, state='insufficient data')
|
||||||
@ -141,7 +141,7 @@ class TestEvaluate(base.TestEvaluatorBase):
|
|||||||
self._set_all_alarms('insufficient data')
|
self._set_all_alarms('insufficient data')
|
||||||
with mock.patch('ceilometerclient.client.get_client',
|
with mock.patch('ceilometerclient.client.get_client',
|
||||||
return_value=self.api_client):
|
return_value=self.api_client):
|
||||||
self.api_client.alarm.get.side_effect = [
|
self.api_client.alarms.get.side_effect = [
|
||||||
self._get_alarm('ok'),
|
self._get_alarm('ok'),
|
||||||
self._get_alarm('ok'),
|
self._get_alarm('ok'),
|
||||||
self._get_alarm('ok'),
|
self._get_alarm('ok'),
|
||||||
@ -161,7 +161,7 @@ class TestEvaluate(base.TestEvaluatorBase):
|
|||||||
self._set_all_alarms('alarm')
|
self._set_all_alarms('alarm')
|
||||||
with mock.patch('ceilometerclient.client.get_client',
|
with mock.patch('ceilometerclient.client.get_client',
|
||||||
return_value=self.api_client):
|
return_value=self.api_client):
|
||||||
self.api_client.alarm.get.side_effect = [
|
self.api_client.alarms.get.side_effect = [
|
||||||
self._get_alarm('ok'),
|
self._get_alarm('ok'),
|
||||||
self._get_alarm('ok'),
|
self._get_alarm('ok'),
|
||||||
self._get_alarm('alarm'),
|
self._get_alarm('alarm'),
|
||||||
@ -181,7 +181,7 @@ class TestEvaluate(base.TestEvaluatorBase):
|
|||||||
self._set_all_alarms('ok')
|
self._set_all_alarms('ok')
|
||||||
with mock.patch('ceilometerclient.client.get_client',
|
with mock.patch('ceilometerclient.client.get_client',
|
||||||
return_value=self.api_client):
|
return_value=self.api_client):
|
||||||
self.api_client.alarm.get.side_effect = [
|
self.api_client.alarms.get.side_effect = [
|
||||||
self._get_alarm('alarm'),
|
self._get_alarm('alarm'),
|
||||||
self._get_alarm('alarm'),
|
self._get_alarm('alarm'),
|
||||||
self._get_alarm('alarm'),
|
self._get_alarm('alarm'),
|
||||||
@ -201,7 +201,7 @@ class TestEvaluate(base.TestEvaluatorBase):
|
|||||||
self._set_all_alarms('ok')
|
self._set_all_alarms('ok')
|
||||||
with mock.patch('ceilometerclient.client.get_client',
|
with mock.patch('ceilometerclient.client.get_client',
|
||||||
return_value=self.api_client):
|
return_value=self.api_client):
|
||||||
self.api_client.alarm.get.side_effect = [
|
self.api_client.alarms.get.side_effect = [
|
||||||
self._get_alarm('ok'),
|
self._get_alarm('ok'),
|
||||||
self._get_alarm('alarm'),
|
self._get_alarm('alarm'),
|
||||||
self._get_alarm('alarm'),
|
self._get_alarm('alarm'),
|
||||||
@ -222,7 +222,7 @@ class TestEvaluate(base.TestEvaluatorBase):
|
|||||||
with mock.patch('ceilometerclient.client.get_client',
|
with mock.patch('ceilometerclient.client.get_client',
|
||||||
return_value=self.api_client):
|
return_value=self.api_client):
|
||||||
broken = exc.CommunicationError(message='broken')
|
broken = exc.CommunicationError(message='broken')
|
||||||
self.api_client.alarm.get.side_effect = [
|
self.api_client.alarms.get.side_effect = [
|
||||||
broken,
|
broken,
|
||||||
self._get_alarm('ok'),
|
self._get_alarm('ok'),
|
||||||
self._get_alarm('insufficient data'),
|
self._get_alarm('insufficient data'),
|
||||||
@ -249,7 +249,7 @@ class TestEvaluate(base.TestEvaluatorBase):
|
|||||||
self._set_all_alarms('ok')
|
self._set_all_alarms('ok')
|
||||||
with mock.patch('ceilometerclient.client.get_client',
|
with mock.patch('ceilometerclient.client.get_client',
|
||||||
return_value=self.api_client):
|
return_value=self.api_client):
|
||||||
self.api_client.alarm.get.side_effect = [
|
self.api_client.alarms.get.side_effect = [
|
||||||
self._get_alarm('ok'),
|
self._get_alarm('ok'),
|
||||||
self._get_alarm('ok'),
|
self._get_alarm('ok'),
|
||||||
self._get_alarm('ok'),
|
self._get_alarm('ok'),
|
||||||
@ -266,7 +266,7 @@ class TestEvaluate(base.TestEvaluatorBase):
|
|||||||
self._set_all_alarms('ok')
|
self._set_all_alarms('ok')
|
||||||
with mock.patch('ceilometerclient.client.get_client',
|
with mock.patch('ceilometerclient.client.get_client',
|
||||||
return_value=self.api_client):
|
return_value=self.api_client):
|
||||||
self.api_client.alarm.get.side_effect = [
|
self.api_client.alarms.get.side_effect = [
|
||||||
self._get_alarm('ok'),
|
self._get_alarm('ok'),
|
||||||
self._get_alarm('ok'),
|
self._get_alarm('ok'),
|
||||||
self._get_alarm('ok'),
|
self._get_alarm('ok'),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user