diff --git a/ceilometer/ipmi/notifications/ironic.py b/ceilometer/ipmi/notifications/ironic.py index e5d23a41c3..e15ffd56e8 100644 --- a/ceilometer/ipmi/notifications/ironic.py +++ b/ceilometer/ipmi/notifications/ironic.py @@ -16,21 +16,13 @@ notification events. """ -from oslo_config import cfg from oslo_log import log -import oslo_messaging as messaging -from ceilometer.agent import plugin_base +from ceilometer import notification from ceilometer import sample LOG = log.getLogger(__name__) -OPTS = [ - cfg.StrOpt('ironic_exchange', - default='ironic', - help='Exchange name for Ironic notifications.'), -] - # Map unit name to SI UNIT_MAP = { @@ -62,7 +54,7 @@ class InvalidSensorData(ValueError): pass -class SensorNotification(plugin_base.NotificationBase): +class SensorNotification(notification.NotificationProcessBase): """A generic class for extracting samples from sensor data notifications. A notification message can contain multiple samples from multiple @@ -76,12 +68,6 @@ class SensorNotification(plugin_base.NotificationBase): event_types = ['hardware.ipmi.*'] metric = None - def get_targets(self, conf): - """oslo.messaging.TargetS for this plugin.""" - return [messaging.Target(topic=topic, - exchange=conf.ironic_exchange) - for topic in self.get_notification_topics(conf)] - def _get_sample(self, message): try: return (payload for _, payload diff --git a/ceilometer/notification.py b/ceilometer/notification.py index fc9a2ebc34..49862b7817 100644 --- a/ceilometer/notification.py +++ b/ceilometer/notification.py @@ -90,7 +90,7 @@ EXCHANGES_OPTS = [ cfg.MultiStrOpt('notification_control_exchanges', default=['nova', 'glance', 'neutron', 'cinder', 'heat', 'keystone', 'sahara', 'trove', 'zaqar', 'swift', - 'ceilometer', 'magnum', 'dns'], + 'ceilometer', 'magnum', 'dns', 'ironic'], deprecated_group='DEFAULT', deprecated_name="http_control_exchanges", help="Exchanges name to listen for notifications."), diff --git a/ceilometer/opts.py b/ceilometer/opts.py index e2ba371ef2..8f80c2bc37 100644 --- a/ceilometer/opts.py +++ b/ceilometer/opts.py @@ -32,7 +32,6 @@ import ceilometer.event.converter import ceilometer.hardware.discovery import ceilometer.hardware.pollsters.generic import ceilometer.image.discovery -import ceilometer.ipmi.notifications.ironic import ceilometer.ipmi.platform.intel_node_manager import ceilometer.ipmi.pollsters import ceilometer.keystone_client @@ -82,7 +81,6 @@ def list_opts(): ceilometer.compute.virt.inspector.OPTS, ceilometer.compute.virt.libvirt.utils.OPTS, ceilometer.dispatcher.OPTS, - ceilometer.ipmi.notifications.ironic.OPTS, ceilometer.objectstore.swift.OPTS, ceilometer.pipeline.OPTS, ceilometer.sample.OPTS, diff --git a/ceilometer/tests/unit/test_middleware.py b/ceilometer/tests/unit/test_middleware.py index c5aec16a4a..54fc672f2e 100644 --- a/ceilometer/tests/unit/test_middleware.py +++ b/ceilometer/tests/unit/test_middleware.py @@ -97,4 +97,4 @@ class TestNotifications(base.BaseTestCase): def test_targets(self): targets = middleware.HTTPRequest(mock.Mock()).get_targets(self.CONF) - self.assertEqual(13, len(targets)) + self.assertEqual(14, len(targets))