diff options
author | Mehdi Abaakouk <sileht@sileht.net> | 2018-10-05 11:38:46 +0200 |
---|---|---|
committer | Mehdi Abaakouk <sileht@sileht.net> | 2018-10-05 15:21:45 +0200 |
commit | 172cfb33f3ee207531a9e82fbc8293d24009a256 (patch) | |
tree | e0edd8d3c2a74410ac252c7d304b9a92771a0b1d | |
parent | 95b487ba6bd62dca73908bed67b6dffcb5331674 (diff) | |
download | oslo-messaging-172cfb33f3ee207531a9e82fbc8293d24009a256.tar.gz |
Fix oslo.messaging default transport
Change d3f6ca0b47e2a5a3413b27617d9655f02b191c6a have broken
oslo.messaging defaults, no more transport are selected by default and
oslo.messaging just crash:
Traceback (most recent call last):
File "/home/sileht/workspace/openstack/oslo.messaging/.tox/py27/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched
return func(*args, **keywargs)
File "oslo_messaging/tests/test_transport.py", line 111, in test_get_transport
transport_ = oslo_messaging.get_transport(self.conf, **kwargs)
File "/home/sileht/workspace/openstack/oslo.messaging/.tox/py27/lib/python2.7/site-packages/debtcollector/removals.py", line 242, in wrapper
return f(*args, **kwargs)
File "oslo_messaging/transport.py", line 247, in get_transport
transport_cls=RPCTransport)
File "oslo_messaging/transport.py", line 205, in _get_transport
url.transport.split('+')[0],
AttributeError: 'NoneType' object has no attribute 'split'
This change restores rabbit:// as default.
Change-Id: I945a2aca60347dad672cc406cd33e80e93c588a7
-rwxr-xr-x | oslo_messaging/tests/test_transport.py | 13 | ||||
-rw-r--r-- | oslo_messaging/transport.py | 3 |
2 files changed, 12 insertions, 4 deletions
diff --git a/oslo_messaging/tests/test_transport.py b/oslo_messaging/tests/test_transport.py index 4d37a6a..a2c17f9 100755 --- a/oslo_messaging/tests/test_transport.py +++ b/oslo_messaging/tests/test_transport.py @@ -51,6 +51,13 @@ class _FakeManager(object): class GetTransportTestCase(test_utils.BaseTestCase): scenarios = [ + ('default', + dict(url=None, transport_url=None, + control_exchange=None, allowed=None, + expect=dict(backend='rabbit', + exchange=None, + url='rabbit:', + allowed=[]))), ('transport_url', dict(url=None, transport_url='testtransport:', control_exchange=None, allowed=None, @@ -83,8 +90,10 @@ class GetTransportTestCase(test_utils.BaseTestCase): @mock.patch('oslo_messaging.transport.LOG') def test_get_transport(self, fake_logger): - self.config(control_exchange=self.control_exchange, - transport_url=self.transport_url) + self.messaging_conf.reset() + self.config(control_exchange=self.control_exchange) + if self.transport_url: + self.config(transport_url=self.transport_url) driver.DriverManager = mock.Mock() diff --git a/oslo_messaging/transport.py b/oslo_messaging/transport.py index 20ea778..da4d081 100644 --- a/oslo_messaging/transport.py +++ b/oslo_messaging/transport.py @@ -42,6 +42,7 @@ LOG = logging.getLogger(__name__) _transport_opts = [ cfg.StrOpt('transport_url', + default="rabbit://", secret=True, help='The network address and optional user credentials for ' 'connecting to the messaging backend, in URL format. The ' @@ -443,8 +444,6 @@ class TransportURL(object): if not url: conf.register_opts(_transport_opts) url = url or conf.transport_url - if not url: - return cls(conf) if not isinstance(url, six.string_types): raise InvalidTransportURL(url, 'Wrong URL type') |