def _force_use_list_notifier(self): if (CONF.notification_driver != 'openstack.common.notifier.list_notifier'): if not hasattr(CONF, "list_notifier_drivers"): CONF.list_notifier_drivers = [] old_notifier = CONF.notification_driver drvstring = 'openstack.common.notifier.list_notifier' CONF.notification_driver = drvstring if old_notifier: list_notifier.add_driver(old_notifier)
def test_adding_and_removing_notifier_module(self): self.config(notification_driver='openstack.common.' 'notifier.list_notifier', list_notifier_drivers=[]) list_notifier.add_driver('openstack.common.notifier.no_op_notifier') api.notify(None, 'publisher_id', 'event_type', api.WARN, dict(a=3)) self.assertEqual(self.notify_count, 1) list_notifier.remove_driver('openstack.common.notifier.no_op_notifier') api.notify(None, 'publisher_id', 'event_type', api.WARN, dict(a=3)) self.assertEqual(self.notify_count, 1)
def test_adding_and_removing_notifier_object(self): self.notifier_object = SimpleNotifier() self.config(notification_driver='openstack.common.' 'notifier.list_notifier', list_notifier_drivers=[ 'openstack.common.notifier.no_op_notifier']) list_notifier.add_driver(self.notifier_object) api.notify(None, 'publisher_id', 'event_type', api.WARN, dict(a=3)) self.assertEqual(self.notify_count, 1) self.assertTrue(self.notifier_object.notified) self.notifier_object.notified = False list_notifier.remove_driver(self.notifier_object) api.notify(None, 'publisher_id', 'event_type', api.WARN, dict(a=3)) self.assertEqual(self.notify_count, 2) self.assertFalse(self.notifier_object.notified)
def __init__(self, project_name, service_name): """ Construct Plugin Manager; load and initialize plugins. project_name (e.g. 'nova' or 'glance') is used to construct the entry point that identifies plugins. The service_name (e.g. 'compute') is passed on to each plugin as a raw string for it to do what it will. """ self._project_name = project_name self._service_name = service_name self.plugins = [] # Make sure we're using the list_notifier. if not hasattr(CONF, "list_notifier_drivers"): CONF.list_notifier_drivers = [] old_notifier = CONF.notification_driver CONF.notification_driver = 'openstack.common.notifier.list_notifier' if (old_notifier and old_notifier != 'openstack.common.notifier.list_notifier'): list_notifier.add_driver(old_notifier)