示例#1
0
def load_monitors(plugins):
    """Load resource monitors.

    :param plugins: resource plugins.
    :return: a list of monitors.
    """
    monitors = []

    # Setup a notification monitor
    notification_plugins = set([])
    for plugin in plugins.values():
        if plugin.monitor:
            if plugin.monitor.is_notification_enabled():
                notification_plugins.add(plugin.monitor)
    if notification_plugins:
        monitors.append(
            notification_monitor.NotificationMonitor(notification_plugins))

    # Setup a polling monitor
    polling_plugins = set([])
    for plugin in plugins.values():
        if plugin.monitor:
            if plugin.monitor.is_polling_enabled():
                polling_plugins.add(plugin.monitor)
    if polling_plugins:
        monitors.append(polling_monitor.PollingMonitor(polling_plugins))

    return monitors
示例#2
0
 def setUp(self):
     super(PollingHandlerTestCase, self).setUp()
     self.monitor_plugins = [DummyMonitorPlugin()]
     self.monitor = polling_monitor.PollingMonitor(self.monitor_plugins)