def _record_change(self, alarm): if not self.conf.record_history: return type = models.AlarmChange.STATE_TRANSITION detail = json.dumps({'state': alarm.state}) user_id, project_id = self.ks_client.user_id, self.ks_client.project_id on_behalf_of = alarm.project_id now = timeutils.utcnow() payload = dict(event_id=str(uuid.uuid4()), alarm_id=alarm.alarm_id, type=type, detail=detail, user_id=user_id, project_id=project_id, on_behalf_of=on_behalf_of, timestamp=now) try: self._storage_conn.record_alarm_change(payload) except aodh.NotImplementedError: pass if not self._alarm_change_notifier: transport = messaging.get_transport(self.conf) self._alarm_change_notifier = messaging.get_notifier( transport, publisher_id="aodh.evaluator") notification = "alarm.state_transition" self._alarm_change_notifier.info({}, notification, payload)
def _send_notification(event, payload): notification = event.replace(" ", "_") notification = "alarm.%s" % notification transport = messaging.get_transport(pecan.request.cfg) notifier = messaging.get_notifier(transport, publisher_id="aodh.api") # FIXME(sileht): perhaps we need to copy some infos from the # pecan request headers like nova does notifier.info({}, notification, payload)
def start(self): super(EventAlarmEvaluationService, self).start() self.listener = messaging.get_notification_listener( messaging.get_transport(self.conf), [oslo_messaging.Target(topic=self.conf.event_alarm_topic)], [EventAlarmEndpoint(self.evaluator)]) self.listener.start() # Add a dummy thread to have wait() working self.tg.add_timer(604800, lambda: None)
def __init__(self, conf): super(AlarmNotifierService, self).__init__() transport = messaging.get_transport(conf) self.rpc_server = messaging.get_rpc_server( conf, transport, conf.notifier_rpc_topic, self) self.notifiers = extension.ExtensionManager( self.NOTIFIER_EXTENSIONS_NAMESPACE, invoke_on_load=True, invoke_args=(conf,))
def __init__(self, conf): super(AlarmNotifierService, self).__init__() transport = messaging.get_transport(conf) self.rpc_server = messaging.get_rpc_server(conf, transport, conf.notifier_rpc_topic, self) self.notifiers = extension.ExtensionManager( self.NOTIFIER_EXTENSIONS_NAMESPACE, invoke_on_load=True, invoke_args=(conf, ))
def __init__(self, conf): super(AlarmNotifierService, self).__init__() transport = messaging.get_transport(conf) self.notifiers = extension.ExtensionManager( self.NOTIFIER_EXTENSIONS_NAMESPACE, invoke_on_load=True, invoke_args=(conf,)) target = oslo_messaging.Target(topic=conf.notifier_topic) self.listener = messaging.get_notification_listener( transport, [target], [AlarmEndpoint(self.notifiers)])
def __init__(self, worker_id, conf): self.conf = conf transport = messaging.get_transport(self.conf) self.notifiers = extension.ExtensionManager( self.NOTIFIER_EXTENSIONS_NAMESPACE, invoke_on_load=True, invoke_args=(self.conf,)) target = oslo_messaging.Target(topic=self.conf.notifier_topic) self.listener = messaging.get_batch_notification_listener( transport, [target], [AlarmEndpoint(self.notifiers)], False, self.conf.notifier.batch_size, self.conf.notifier.batch_timeout) self.listener.start()
def setup_messaging(self, conf, exchange=None): self.useFixture(oslo_messaging.conffixture.ConfFixture(conf)) conf.set_override("notification_driver", "messaging") if not exchange: exchange = 'aodh' conf.set_override("control_exchange", exchange) # NOTE(sileht): Ensure a new oslo.messaging driver is loaded # between each tests self.transport = messaging.get_transport(conf, "fake://", cache=False) self.useFixture(mockpatch.Patch( 'aodh.messaging.get_transport', return_value=self.transport))
def __init__(self, worker_id, conf): super(EventAlarmEvaluationService, self).__init__(worker_id) self.conf = conf self.storage_conn = storage.get_connection_from_config(self.conf) self.evaluator = event.EventAlarmEvaluator(self.conf) self.listener = messaging.get_batch_notification_listener( messaging.get_transport(self.conf), [oslo_messaging.Target( topic=self.conf.listener.event_alarm_topic)], [EventAlarmEndpoint(self.evaluator)], False, self.conf.listener.batch_size, self.conf.listener.batch_timeout) self.listener.start()
def setup_messaging(self, conf, exchange=None): self.useFixture(oslo_messaging.conffixture.ConfFixture(conf)) conf.set_override("notification_driver", ["messaging"]) if not exchange: exchange = 'aodh' conf.set_override("control_exchange", exchange) # NOTE(sileht): Ensure a new oslo.messaging driver is loaded # between each tests self.transport = messaging.get_transport(conf, "fake://", cache=False) self.useFixture( fixtures.MockPatch('aodh.messaging.get_transport', return_value=self.transport))
def __init__(self, worker_id, conf): super(AlarmNotifierService, self).__init__(worker_id) self.conf = conf transport = messaging.get_transport(self.conf) self.notifiers = extension.ExtensionManager( self.NOTIFIER_EXTENSIONS_NAMESPACE, invoke_on_load=True, invoke_args=(self.conf,)) target = oslo_messaging.Target(topic=self.conf.notifier_topic) self.listener = messaging.get_batch_notification_listener( transport, [target], [AlarmEndpoint(self.notifiers)], False, self.conf.notifier.batch_size, self.conf.notifier.batch_timeout) self.listener.start()
def start(self): super(EventAlarmEvaluationService, self).start() self.storage_conn = storage.get_connection_from_config(self.conf) self.evaluator = event.EventAlarmEvaluator(self.conf) self.listener = messaging.get_batch_notification_listener( messaging.get_transport(self.conf), [oslo_messaging.Target( topic=self.conf.listener.event_alarm_topic)], [EventAlarmEndpoint(self.evaluator)], False, self.conf.listener.batch_size, self.conf.listener.batch_timeout) self.listener.start() # Add a dummy thread to have wait() working self.tg.add_timer(604800, lambda: None)
def start(self): super(AlarmNotifierService, self).start() transport = messaging.get_transport(self.conf) self.notifiers = extension.ExtensionManager( self.NOTIFIER_EXTENSIONS_NAMESPACE, invoke_on_load=True, invoke_args=(self.conf,)) target = oslo_messaging.Target(topic=self.conf.notifier_topic) self.listener = messaging.get_batch_notification_listener( transport, [target], [AlarmEndpoint(self.notifiers)], False, self.conf.notifier.batch_size, self.conf.notifier.batch_timeout) self.listener.start() # Add a dummy thread to have wait() working self.tg.add_timer(604800, lambda: None)
def setup_messaging(self, conf, exchange=None): self.useFixture(oslo_messaging.conffixture.ConfFixture(conf)) conf.set_override("notification_driver", "messaging") if not exchange: exchange = 'aodh' conf.set_override("control_exchange", exchange) # NOTE(sileht): oslo.messaging fake driver uses time.sleep # for task switch, so we need to monkey_patch it # and also ensure the correct exchange have been set eventlet.monkey_patch(time=True) # NOTE(sileht): Ensure a new oslo.messaging driver is loaded # between each tests self.transport = messaging.get_transport(conf, "fake://", cache=False) self.useFixture(mockpatch.Patch( 'aodh.messaging.get_transport', return_value=self.transport))
def setup_messaging(self, conf, exchange=None): self.useFixture(oslo_messaging.conffixture.ConfFixture(conf)) conf.set_override("notification_driver", "messaging") if not exchange: exchange = 'aodh' conf.set_override("control_exchange", exchange) # NOTE(sileht): oslo.messaging fake driver uses time.sleep # for task switch, so we need to monkey_patch it # and also ensure the correct exchange have been set eventlet.monkey_patch(time=True) # NOTE(sileht): Ensure a new oslo.messaging driver is loaded # between each tests self.transport = messaging.get_transport(conf, "fake://", cache=False) self.useFixture( mockpatch.Patch('aodh.messaging.get_transport', return_value=self.transport))
def __init__(self, conf): super(AlarmNotifierService, self).__init__() transport = messaging.get_transport(conf) self.notifiers = extension.ExtensionManager( self.NOTIFIER_EXTENSIONS_NAMESPACE, invoke_on_load=True, invoke_args=(conf,)) if conf.ipc_protocol == 'rpc': self.ipc = 'rpc' self.rpc_server = messaging.get_rpc_server( conf, transport, conf.notifier_rpc_topic, self) else: self.ipc = 'queue' target = oslo_messaging.Target(topic=conf.notifier_topic) self.listener = messaging.get_notification_listener( transport, [target], [AlarmEndpoint(self.notifiers)])
def __init__(self, conf): super(AlarmNotifierService, self).__init__() transport = messaging.get_transport(conf) self.notifiers = extension.ExtensionManager( self.NOTIFIER_EXTENSIONS_NAMESPACE, invoke_on_load=True, invoke_args=(conf, )) if conf.ipc_protocol == 'rpc': self.ipc = 'rpc' self.rpc_server = messaging.get_rpc_server(conf, transport, conf.notifier_rpc_topic, self) else: self.ipc = 'queue' target = oslo_messaging.Target(topic=conf.notifier_topic) self.listener = messaging.get_notification_listener( transport, [target], [AlarmEndpoint(self.notifiers)])
def alarm_change_notifier(self): if not self._alarm_change_notifier: transport = messaging.get_transport(self.conf) self._alarm_change_notifier = messaging.get_notifier( transport, publisher_id="aodh.evaluator") return self._alarm_change_notifier
def test_get_transport_optional(self): self.CONF.set_override('transport_url', 'non-url') self.assertIsNone(messaging.get_transport(self.CONF, optional=True, cache=False))
def test_get_transport_url_caching(self): t1 = messaging.get_transport(self.CONF, 'fake://') t2 = messaging.get_transport(self.CONF, 'fake://') self.assertEqual(t1, t2)
def __init__(self, conf): self.notifier = oslo_messaging.Notifier( messaging.get_transport(conf), driver='messagingv2', publisher_id="alarming.evaluator", topic=conf.notifier_topic)
def __init__(self): super(AlarmNotifierService, self).__init__() transport = messaging.get_transport() self.rpc_server = messaging.get_rpc_server( transport, cfg.CONF.alarm.notifier_rpc_topic, self)
def test_get_transport_url_caching_mix(self): t1 = messaging.get_transport(self.CONF, 'fake://') t2 = messaging.get_transport(self.CONF, 'fake://', cache=False) self.assertNotEqual(t1, t2)
def test_get_transport_default_url_caching(self): t1 = messaging.get_transport(self.CONF, ) t2 = messaging.get_transport(self.CONF, ) self.assertEqual(t1, t2)
def __init__(self, conf): self.notifier = oslo_messaging.Notifier( messaging.get_transport(conf), driver='messagingv2', publisher_id="alarming.evaluator", topics=[conf.notifier_topic])
def __init__(self, conf): transport = messaging.get_transport(conf) self.client = messaging.get_rpc_client(transport, topic=conf.notifier_rpc_topic, version="1.0")
def test_get_transport_optional(self): self.CONF.set_override('rpc_backend', '') self.assertIsNone( messaging.get_transport(self.CONF, optional=True, cache=False))
def test_get_transport_default_url_no_caching(self): t1 = messaging.get_transport(self.CONF, cache=False) t2 = messaging.get_transport(self.CONF, cache=False) self.assertNotEqual(t1, t2)
def test_get_transport_url_no_caching(self): t1 = messaging.get_transport('fake://', cache=False) t2 = messaging.get_transport('fake://', cache=False) self.assertNotEqual(t1, t2)
def test_get_transport_optional(self): self.CONF.set_override('rpc_backend', '') self.assertIsNone(messaging.get_transport(self.CONF, optional=True, cache=False))
def test_get_transport_default_url_caching_mix(self): t1 = messaging.get_transport() t2 = messaging.get_transport(cache=False) self.assertNotEqual(t1, t2)
def __init__(self, conf): transport = messaging.get_transport(conf) self.client = messaging.get_rpc_client( transport, topic=conf.notifier_rpc_topic, version="1.0")
def test_get_transport_optional(self): self.CONF.set_override('transport_url', 'non-url') self.assertIsNone( messaging.get_transport(self.CONF, optional=True, cache=False))