Remove ceilometer-api from test_composite

Change-Id: Ib63d3f9f0d882f55024b7207c0b5d6f2f51ec5d8
This commit is contained in:
Mehdi Abaakouk 2018-01-11 10:15:49 +01:00
parent d9ce260461
commit fb6d414ab7

View File

@ -78,49 +78,37 @@ class BaseCompositeEvaluate(base.TestEvaluatorBase):
class CompositeTest(BaseCompositeEvaluate): class CompositeTest(BaseCompositeEvaluate):
sub_rule1 = { sub_rule1 = {
"type": "threshold", "type": "gnocchi_aggregation_by_metrics_threshold",
"meter_name": "cpu_util", "metrics": ['41869681-5776-46d6-91ed-cccc43b6e4e3',
'a1fb80f4-c242-4f57-87c6-68f47521059e'],
"evaluation_periods": 5, "evaluation_periods": 5,
"threshold": 0.8, "threshold": 0.8,
"query": [{ "aggregation_method": "mean",
"field": "metadata.metering.stack_id", "granularity": 60,
"value": "36b20eb3-d749-4964-a7d2-a71147cd8145",
"op": "eq"
}],
"statistic": "avg",
"period": 60,
"exclude_outliers": False, "exclude_outliers": False,
"comparison_operator": "gt" "comparison_operator": "gt"
} }
sub_rule2 = { sub_rule2 = {
"type": "threshold", "type": "gnocchi_aggregation_by_metrics_threshold",
"meter_name": "disk.iops", "metrics": ['41869681-5776-46d6-91ed-cccc43b6e4e3',
'a1fb80f4-c242-4f57-87c6-68f47521059e'],
"evaluation_periods": 4, "evaluation_periods": 4,
"threshold": 200, "threshold": 200,
"query": [{ "aggregation_method": "max",
"field": "metadata.metering.stack_id", "granularity": 60,
"value": "36b20eb3-d749-4964-a7d2-a71147cd8145",
"op": "eq"
}],
"statistic": "max",
"period": 60,
"exclude_outliers": False, "exclude_outliers": False,
"comparison_operator": "gt" "comparison_operator": "gt"
} }
sub_rule3 = { sub_rule3 = {
"type": "threshold", "type": "gnocchi_aggregation_by_metrics_threshold",
"meter_name": "network.incoming.packets.rate", "metrics": ['41869681-5776-46d6-91ed-cccc43b6e4e3',
'a1fb80f4-c242-4f57-87c6-68f47521059e'],
"evaluation_periods": 3, "evaluation_periods": 3,
"threshold": 1000, "threshold": 1000,
"query": [{ "aggregation_method": "mean",
"field": "metadata.metering.stack_id", "granularity": 60,
"value": "36b20eb3-d749-4964-a7d2-a71147cd8145",
"op": "eq"
}],
"statistic": "avg",
"period": 60,
"exclude_outliers": False, "exclude_outliers": False,
"comparison_operator": "gt" "comparison_operator": "gt"
} }
@ -255,7 +243,6 @@ class CompositeTest(BaseCompositeEvaluate):
def test_simple_insufficient(self): def test_simple_insufficient(self):
self._set_all_alarms('ok') self._set_all_alarms('ok')
self.api_client.statistics.list.return_value = []
self.client.metric.aggregation.return_value = [] self.client.metric.aggregation.return_value = []
self.client.metric.get_measures.return_value = [] self.client.metric.get_measures.return_value = []
self._evaluate_all_alarms() self._evaluate_all_alarms()
@ -307,12 +294,12 @@ class CompositeTest(BaseCompositeEvaluate):
# self.sub_rule4: ok # self.sub_rule4: ok
# self.sub_rule5: ok # self.sub_rule5: ok
# self.sub_rule6: alarm # self.sub_rule6: alarm
maxs = [self._get_stats('max', self.sub_rule2['threshold'] + 0.01 * v) maxs = self._get_gnocchi_stats(60, [self.sub_rule2['threshold'] + v
for v in moves.xrange(1, 5)] for v in moves.xrange(1, 5)])
avgs1 = [self._get_stats('avg', self.sub_rule3['threshold'] + 0.01 * v) avgs1 = self._get_gnocchi_stats(60, [self.sub_rule3['threshold'] + v
for v in moves.xrange(1, 4)] for v in moves.xrange(1, 4)])
avgs2 = [self._get_stats('avg', self.sub_rule1['threshold'] - 0.01 * v) avgs2 = self._get_gnocchi_stats(60, [self.sub_rule1['threshold'] - v
for v in moves.xrange(1, 6)] for v in moves.xrange(1, 6)])
gavgs1 = self._get_gnocchi_stats(60, [self.sub_rule4['threshold'] gavgs1 = self._get_gnocchi_stats(60, [self.sub_rule4['threshold']
- v for v in moves.xrange(1, 6)]) - v for v in moves.xrange(1, 6)])
@ -321,13 +308,12 @@ class CompositeTest(BaseCompositeEvaluate):
gavgs2 = self._get_gnocchi_stats(50, [self.sub_rule6['threshold'] + v gavgs2 = self._get_gnocchi_stats(50, [self.sub_rule6['threshold'] + v
for v in moves.xrange(1, 7)]) for v in moves.xrange(1, 7)])
self.api_client.statistics.list.side_effect = [maxs, avgs1, avgs2]
self.client.metric.get_measures.side_effect = [gavgs1] self.client.metric.get_measures.side_effect = [gavgs1]
self.client.metric.aggregation.side_effect = [gmaxs, gavgs2] self.client.metric.aggregation.side_effect = [maxs, avgs1, avgs2,
gmaxs, gavgs2]
self.evaluator.evaluate(alarm) self.evaluator.evaluate(alarm)
self.assertEqual(3, self.api_client.statistics.list.call_count)
self.assertEqual(1, self.client.metric.get_measures.call_count) self.assertEqual(1, self.client.metric.get_measures.call_count)
self.assertEqual(2, self.client.metric.aggregation.call_count) self.assertEqual(5, self.client.metric.aggregation.call_count)
self.assertEqual('alarm', alarm.state) self.assertEqual('alarm', alarm.state)
expected = mock.call( expected = mock.call(
alarm, 'ok', alarm, 'ok',
@ -341,12 +327,12 @@ class CompositeTest(BaseCompositeEvaluate):
def test_alarm_with_short_circuit_logic(self): def test_alarm_with_short_circuit_logic(self):
alarm = self.alarms[1] alarm = self.alarms[1]
# self.sub_rule1: alarm # self.sub_rule1: alarm
avgs = [self._get_stats('avg', self.sub_rule1['threshold'] + 0.01 * v) avgs = self._get_gnocchi_stats(60, [self.sub_rule1['threshold'] + v
for v in moves.xrange(1, 6)] for v in moves.xrange(1, 6)])
self.api_client.statistics.list.side_effect = [avgs] self.client.metric.aggregation.side_effect = [avgs]
self.evaluator.evaluate(alarm) self.evaluator.evaluate(alarm)
self.assertEqual('alarm', alarm.state) self.assertEqual('alarm', alarm.state)
self.assertEqual(1, self.api_client.statistics.list.call_count) self.assertEqual(1, self.client.metric.aggregation.call_count)
expected = mock.call(self.alarms[1], 'insufficient data', expected = mock.call(self.alarms[1], 'insufficient data',
*self._reason( *self._reason(
'alarm', 'alarm',
@ -357,12 +343,12 @@ class CompositeTest(BaseCompositeEvaluate):
def test_ok_with_short_circuit_logic(self): def test_ok_with_short_circuit_logic(self):
alarm = self.alarms[2] alarm = self.alarms[2]
# self.sub_rule1: ok # self.sub_rule1: ok
avgs = [self._get_stats('avg', self.sub_rule1['threshold'] - 0.01 * v) avgs = self._get_gnocchi_stats(60, [self.sub_rule1['threshold'] - v
for v in moves.xrange(1, 6)] for v in moves.xrange(1, 6)])
self.api_client.statistics.list.side_effect = [avgs] self.client.metric.aggregation.side_effect = [avgs]
self.evaluator.evaluate(alarm) self.evaluator.evaluate(alarm)
self.assertEqual('ok', alarm.state) self.assertEqual('ok', alarm.state)
self.assertEqual(1, self.api_client.statistics.list.call_count) self.assertEqual(1, self.client.metric.aggregation.call_count)
expected = mock.call(self.alarms[2], 'insufficient data', expected = mock.call(self.alarms[2], 'insufficient data',
*self._reason( *self._reason(
'ok', 'ok',
@ -372,13 +358,14 @@ class CompositeTest(BaseCompositeEvaluate):
def test_unknown_state_with_sub_rules_trending_state(self): def test_unknown_state_with_sub_rules_trending_state(self):
alarm = self.alarms[0] alarm = self.alarms[0]
maxs = [self._get_stats('max', self.sub_rule2['threshold'] + 0.01 * v) maxs = self._get_gnocchi_stats(60, [self.sub_rule2['threshold'] + v
for v in moves.xrange(-1, 4)] for v in moves.xrange(-1, 4)])
avgs = [self._get_stats('avg', self.sub_rule3['threshold'] + 0.01 * v) avgs = self._get_gnocchi_stats(60, [self.sub_rule3['threshold'] + v
for v in moves.xrange(-1, 3)] for v in moves.xrange(-1, 3)])
avgs2 = [self._get_stats('avg', self.sub_rule1['threshold'] - 0.01 * v) avgs2 = self._get_gnocchi_stats(60, [self.sub_rule1['threshold'] - v
for v in moves.xrange(1, 6)] for v in moves.xrange(1, 6)])
self.api_client.statistics.list.side_effect = [avgs2, maxs, avgs] self.client.metric.aggregation.side_effect = [avgs2, maxs, avgs]
self.evaluator.evaluate(alarm) self.evaluator.evaluate(alarm)
self.assertEqual('alarm', alarm.state) self.assertEqual('alarm', alarm.state)
expected = mock.call(self.alarms[0], 'insufficient data', expected = mock.call(self.alarms[0], 'insufficient data',
@ -393,13 +380,15 @@ class CompositeTest(BaseCompositeEvaluate):
alarm = self.alarms[0] alarm = self.alarms[0]
alarm.repeat_actions = True alarm.repeat_actions = True
alarm.state = 'ok' alarm.state = 'ok'
maxs = [self._get_stats('max', self.sub_rule2['threshold'] + 0.01 * v)
for v in moves.xrange(-1, 4)] maxs = self._get_gnocchi_stats(60, [self.sub_rule2['threshold'] + v
avgs = [self._get_stats('avg', self.sub_rule3['threshold'] + 0.01 * v) for v in moves.xrange(-1, 4)])
for v in moves.xrange(-1, 3)] avgs = self._get_gnocchi_stats(60, [self.sub_rule3['threshold'] + v
avgs2 = [self._get_stats('avg', self.sub_rule1['threshold'] - 0.01 * v) for v in moves.xrange(-1, 3)])
for v in moves.xrange(1, 6)] avgs2 = self._get_gnocchi_stats(60, [self.sub_rule1['threshold'] - v
self.api_client.statistics.list.side_effect = [avgs2, maxs, avgs] for v in moves.xrange(1, 6)])
self.client.metric.aggregation.side_effect = [avgs2, maxs, avgs]
self.evaluator.evaluate(alarm) self.evaluator.evaluate(alarm)
self.assertEqual('ok', alarm.state) self.assertEqual('ok', alarm.state)
expected = mock.call(self.alarms[0], 'ok', expected = mock.call(self.alarms[0], 'ok',
@ -414,13 +403,13 @@ class CompositeTest(BaseCompositeEvaluate):
def test_known_state_with_sub_rules_trending_state_and_not_repeat(self): def test_known_state_with_sub_rules_trending_state_and_not_repeat(self):
alarm = self.alarms[2] alarm = self.alarms[2]
alarm.state = 'ok' alarm.state = 'ok'
maxs = [self._get_stats('max', self.sub_rule2['threshold'] + 0.01 * v) maxs = self._get_gnocchi_stats(60, [self.sub_rule2['threshold'] + v
for v in moves.xrange(-1, 4)] for v in moves.xrange(-1, 4)])
avgs = [self._get_stats('avg', self.sub_rule3['threshold'] + 0.01 * v) avgs = self._get_gnocchi_stats(60, [self.sub_rule3['threshold'] + v
for v in moves.xrange(-1, 3)] for v in moves.xrange(-1, 3)])
avgs2 = [self._get_stats('avg', self.sub_rule1['threshold'] - 0.01 * v) avgs2 = self._get_gnocchi_stats(60, [self.sub_rule1['threshold'] - v
for v in moves.xrange(1, 6)] for v in moves.xrange(1, 6)])
self.api_client.statistics.list.side_effect = [avgs2, maxs, avgs] self.client.metric.aggregation.side_effect = [avgs2, maxs, avgs]
self.evaluator.evaluate(alarm) self.evaluator.evaluate(alarm)
self.assertEqual('ok', alarm.state) self.assertEqual('ok', alarm.state)
self.assertEqual([], self.notifier.notify.mock_calls) self.assertEqual([], self.notifier.notify.mock_calls)