summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMehdi Abaakouk <sileht@sileht.net>2018-10-05 11:38:46 +0200
committerMehdi Abaakouk <sileht@sileht.net>2018-10-05 15:21:45 +0200
commit172cfb33f3ee207531a9e82fbc8293d24009a256 (patch)
treee0edd8d3c2a74410ac252c7d304b9a92771a0b1d
parent95b487ba6bd62dca73908bed67b6dffcb5331674 (diff)
downloadoslo-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-xoslo_messaging/tests/test_transport.py13
-rw-r--r--oslo_messaging/transport.py3
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')