diff --git a/oslo_messaging/_drivers/impl_rabbit.py b/oslo_messaging/_drivers/impl_rabbit.py index 1776fb53d..4a0f76a58 100644 --- a/oslo_messaging/_drivers/impl_rabbit.py +++ b/oslo_messaging/_drivers/impl_rabbit.py @@ -522,6 +522,10 @@ class Connection(object): failover_strategy=self.kombu_failover_strategy, transport_options={ 'confirm_publish': True, + 'client_properties': {'capabilities': { + 'authentication_failure_close': True, + 'connection.blocked': True, + 'consumer_cancel_notify': True}}, 'on_blocked': self._on_connection_blocked, 'on_unblocked': self._on_connection_unblocked, }, diff --git a/oslo_messaging/tests/drivers/test_impl_rabbit.py b/oslo_messaging/tests/drivers/test_impl_rabbit.py index bb449606d..742f4d545 100644 --- a/oslo_messaging/tests/drivers/test_impl_rabbit.py +++ b/oslo_messaging/tests/drivers/test_impl_rabbit.py @@ -191,11 +191,20 @@ class TestRabbitDriverLoadSSL(test_utils.BaseTestCase): transport._driver._get_connection() connection_klass.assert_called_once_with( - 'memory:///', transport_options={'confirm_publish': True, - 'on_blocked': mock.ANY, - 'on_unblocked': mock.ANY}, + 'memory:///', transport_options={ + 'client_properties': { + 'capabilities': { + 'connection.blocked': True, + 'consumer_cancel_notify': True, + 'authentication_failure_close': True + } + }, + 'confirm_publish': True, + 'on_blocked': mock.ANY, + 'on_unblocked': mock.ANY}, ssl=self.expected, login_method='AMQPLAIN', - heartbeat=60, failover_strategy='round-robin') + heartbeat=60, failover_strategy='round-robin' + ) class TestRabbitPublisher(test_utils.BaseTestCase):