From dd569eb3d7d58c805a7f3348db5696ca8c3dba16 Mon Sep 17 00:00:00 2001 From: Julien Danjou Date: Fri, 24 Jul 2015 11:10:53 +0200 Subject: [PATCH] evaluator: stop using global conf in Evaluator Change-Id: I1380fbc375a9fb8424dbc6e596997ab4caf9b546 --- aodh/evaluator/__init__.py | 11 ++++++----- aodh/evaluator/gnocchi.py | 4 ++-- aodh/evaluator/threshold.py | 4 ++-- aodh/tests/evaluator/base.py | 5 ++--- aodh/tests/evaluator/test_base.py | 3 ++- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/aodh/evaluator/__init__.py b/aodh/evaluator/__init__.py index cda015bef..0b62e9961 100644 --- a/aodh/evaluator/__init__.py +++ b/aodh/evaluator/__init__.py @@ -61,18 +61,19 @@ cfg.CONF.register_opts(OPTS) class Evaluator(object): """Base class for alarm rule evaluator plugins.""" - def __init__(self, notifier): + def __init__(self, conf, notifier): + self.conf = conf self.notifier = notifier self.storage_conn = None @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 _record_change(self, alarm): - if not cfg.CONF.record_history: + if not self.conf.record_history: return type = models.AlarmChange.STATE_TRANSITION detail = json.dumps({'state': alarm.state}) @@ -96,7 +97,7 @@ class Evaluator(object): except aodh.NotImplementedError: pass notification = "alarm.state_transition" - transport = messaging.get_transport(cfg.CONF) + transport = messaging.get_transport(self.conf) notifier = messaging.get_notifier(transport, publisher_id="aodh.evaluator") notifier.info(context.RequestContext(), notification, payload) @@ -188,7 +189,7 @@ class AlarmService(object): self.evaluators = extension.ExtensionManager( namespace=self.EVALUATOR_EXTENSIONS_NAMESPACE, invoke_on_load=True, - invoke_args=(rpc.RPCAlarmNotifier(),) + invoke_args=(cfg.CONF, rpc.RPCAlarmNotifier(),) ) def _evaluate_assigned_alarms(self): diff --git a/aodh/evaluator/gnocchi.py b/aodh/evaluator/gnocchi.py index bbc7a7fe1..90a67cb3b 100644 --- a/aodh/evaluator/gnocchi.py +++ b/aodh/evaluator/gnocchi.py @@ -36,8 +36,8 @@ cfg.CONF.import_opt('http_timeout', 'aodh.service') class GnocchiThresholdEvaluator(threshold.ThresholdEvaluator): - def __init__(self, notifier): - super(threshold.ThresholdEvaluator, self).__init__(notifier) + def __init__(self, conf, notifier): + super(threshold.ThresholdEvaluator, self).__init__(conf, notifier) self.gnocchi_url = cfg.CONF.gnocchi_url self._ks_client = None diff --git a/aodh/evaluator/threshold.py b/aodh/evaluator/threshold.py index b2d961fb4..e281c55e4 100644 --- a/aodh/evaluator/threshold.py +++ b/aodh/evaluator/threshold.py @@ -47,8 +47,8 @@ class ThresholdEvaluator(evaluator.Evaluator): # for reporting/ingestion lag look_back = 1 - def __init__(self, notifier): - super(ThresholdEvaluator, self).__init__(notifier) + def __init__(self, conf, notifier): + super(ThresholdEvaluator, self).__init__(conf, notifier) self.api_client = None @property diff --git a/aodh/tests/evaluator/base.py b/aodh/tests/evaluator/base.py index 5b4b17052..e6c99e845 100644 --- a/aodh/tests/evaluator/base.py +++ b/aodh/tests/evaluator/base.py @@ -12,9 +12,8 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. -"""Base class for tests in aodh/evaluator/ -""" import mock +from oslo_config import cfg from oslotest import base @@ -23,7 +22,7 @@ class TestEvaluatorBase(base.BaseTestCase): super(TestEvaluatorBase, self).setUp() self.api_client = mock.Mock() self.notifier = mock.MagicMock() - self.evaluator = self.EVALUATOR(self.notifier) + self.evaluator = self.EVALUATOR(cfg.CONF, self.notifier) self.storage_conn = mock.MagicMock() self.evaluator.storage_conn = self.storage_conn self.prepare_alarms() diff --git a/aodh/tests/evaluator/test_base.py b/aodh/tests/evaluator/test_base.py index 6d6ba18d5..66e1812f2 100644 --- a/aodh/tests/evaluator/test_base.py +++ b/aodh/tests/evaluator/test_base.py @@ -17,6 +17,7 @@ import datetime import mock +from oslo_config import cfg from oslo_utils import timeutils from oslotest import base @@ -40,7 +41,7 @@ class TestEvaluatorBaseClass(base.BaseTestCase): def evaluate(self, alarm): pass - ev = EvaluatorSub(notifier) + ev = EvaluatorSub(cfg.CONF, notifier) ev.storage_conn = mock.MagicMock() ev._record_change = mock.MagicMock() ev._refresh(mock.MagicMock(), mock.MagicMock(),