From 24c3d2ab520b09c27c1f080bc133c136123b5fe3 Mon Sep 17 00:00:00 2001 From: Julien Danjou Date: Fri, 24 Jul 2015 11:14:35 +0200 Subject: [PATCH] evaluator: stop using global conf in evaluator service Change-Id: Iabec001528b8e99796b7569da770fbee5023b470 --- aodh/cmd/eventlet/alarm.py | 2 +- aodh/evaluator/__init__.py | 19 ++++++++++--------- aodh/tests/test_evaluator.py | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/aodh/cmd/eventlet/alarm.py b/aodh/cmd/eventlet/alarm.py index 8a52881a1..2af168352 100644 --- a/aodh/cmd/eventlet/alarm.py +++ b/aodh/cmd/eventlet/alarm.py @@ -30,4 +30,4 @@ def notifier(): def evaluator(): service.prepare_service() - os_service.launch(CONF, service.AlarmEvaluationService()).wait() + os_service.launch(CONF, service.AlarmEvaluationService(CONF)).wait() diff --git a/aodh/evaluator/__init__.py b/aodh/evaluator/__init__.py index 0b62e9961..1b8f234b0 100644 --- a/aodh/evaluator/__init__.py +++ b/aodh/evaluator/__init__.py @@ -174,22 +174,23 @@ class Evaluator(object): class AlarmService(object): EVALUATOR_EXTENSIONS_NAMESPACE = "aodh.evaluator" - def __init__(self): + def __init__(self, conf): super(AlarmService, self).__init__() + self.conf = conf self.storage_conn = None self._load_evaluators() @property def _storage_conn(self): if not self.storage_conn: - self.storage_conn = storage.get_connection_from_config(cfg.CONF) + self.storage_conn = storage.get_connection_from_config(self.conf) return self.storage_conn def _load_evaluators(self): self.evaluators = extension.ExtensionManager( namespace=self.EVALUATOR_EXTENSIONS_NAMESPACE, invoke_on_load=True, - invoke_args=(cfg.CONF, rpc.RPCAlarmNotifier(),) + invoke_args=(self.conf, rpc.RPCAlarmNotifier(),) ) def _evaluate_assigned_alarms(self): @@ -224,13 +225,13 @@ class AlarmEvaluationService(AlarmService, os_service.Service): PARTITIONING_GROUP_NAME = "alarm_evaluator" - def __init__(self): - super(AlarmEvaluationService, self).__init__() + def __init__(self, conf): + super(AlarmEvaluationService, self).__init__(conf) self.partition_coordinator = coordination.PartitionCoordinator() def start(self): super(AlarmEvaluationService, self).start() - self.storage_conn = storage.get_connection_from_config(cfg.CONF) + self.storage_conn = storage.get_connection_from_config(self.conf) self.partition_coordinator.start() self.partition_coordinator.join_group(self.PARTITIONING_GROUP_NAME) @@ -238,14 +239,14 @@ class AlarmEvaluationService(AlarmService, os_service.Service): delay_start = self.partition_coordinator.is_active() if self.evaluators: - interval = cfg.CONF.evaluation_interval + interval = self.conf.evaluation_interval self.tg.add_timer( interval, self._evaluate_assigned_alarms, initial_delay=interval if delay_start else None) if self.partition_coordinator.is_active(): - heartbeat_interval = min(cfg.CONF.coordination.heartbeat, - cfg.CONF.evaluation_interval / 4) + heartbeat_interval = min(self.conf.coordination.heartbeat, + self.conf.evaluation_interval / 4) self.tg.add_timer(heartbeat_interval, self.partition_coordinator.heartbeat) # Add a dummy thread to have wait() working diff --git a/aodh/tests/test_evaluator.py b/aodh/tests/test_evaluator.py index 094bdcc85..d70da9f38 100644 --- a/aodh/tests/test_evaluator.py +++ b/aodh/tests/test_evaluator.py @@ -40,7 +40,7 @@ class TestAlarmEvaluationService(tests_base.BaseTestCase): ) self.storage_conn = mock.MagicMock() - self.svc = evaluator.AlarmEvaluationService() + self.svc = evaluator.AlarmEvaluationService(self.CONF) self.svc.tg = mock.Mock() self.svc.partition_coordinator = mock.MagicMock() p_coord = self.svc.partition_coordinator