Merge "Remove rpc_backend and ConfFixture.transport_driver"
This commit is contained in:
commit
34519efd2d
@ -114,15 +114,6 @@ class ConfFixture(fixtures.Fixture):
|
|||||||
self.addCleanup(self._teardown_decorator)
|
self.addCleanup(self._teardown_decorator)
|
||||||
self.addCleanup(self.conf.reset)
|
self.addCleanup(self.conf.reset)
|
||||||
|
|
||||||
@property
|
|
||||||
def transport_driver(self):
|
|
||||||
"""The transport driver - for example 'rabbit', 'amqp' or 'fake'."""
|
|
||||||
return self.conf.rpc_backend
|
|
||||||
|
|
||||||
@transport_driver.setter
|
|
||||||
def transport_driver(self, value):
|
|
||||||
self.conf.set_override('rpc_backend', value)
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def transport_url(self):
|
def transport_url(self):
|
||||||
"""The transport url"""
|
"""The transport url"""
|
||||||
|
@ -48,10 +48,7 @@ class TestConfFixture(test_utils.BaseTestCase):
|
|||||||
|
|
||||||
def test_fixture_properties(self):
|
def test_fixture_properties(self):
|
||||||
conf = self.messaging_conf.conf
|
conf = self.messaging_conf.conf
|
||||||
self.messaging_conf.transport_driver = 'fake'
|
|
||||||
self.messaging_conf.transport_url = 'fake:/vhost'
|
self.messaging_conf.transport_url = 'fake:/vhost'
|
||||||
self.assertEqual('fake', self.messaging_conf.transport_driver)
|
|
||||||
self.assertEqual('fake', conf.rpc_backend)
|
|
||||||
self.assertEqual('fake:/vhost', self.messaging_conf.transport_url)
|
self.assertEqual('fake:/vhost', self.messaging_conf.transport_url)
|
||||||
self.assertEqual('fake:/vhost', conf.transport_url)
|
self.assertEqual('fake:/vhost', conf.transport_url)
|
||||||
|
|
||||||
|
@ -37,9 +37,6 @@ class OptsTestCase(test_utils.BaseTestCase):
|
|||||||
self.assertIn('oslo_messaging_rabbit', groups)
|
self.assertIn('oslo_messaging_rabbit', groups)
|
||||||
self.assertIn('oslo_messaging_kafka', groups)
|
self.assertIn('oslo_messaging_kafka', groups)
|
||||||
|
|
||||||
opt_names = [o.name for (g, l) in result for o in l]
|
|
||||||
self.assertIn('rpc_backend', opt_names)
|
|
||||||
|
|
||||||
def test_list_opts(self):
|
def test_list_opts(self):
|
||||||
self._test_list_opts(opts.list_opts())
|
self._test_list_opts(opts.list_opts())
|
||||||
|
|
||||||
|
@ -51,36 +51,29 @@ class _FakeManager(object):
|
|||||||
class GetTransportTestCase(test_utils.BaseTestCase):
|
class GetTransportTestCase(test_utils.BaseTestCase):
|
||||||
|
|
||||||
scenarios = [
|
scenarios = [
|
||||||
('rpc_backend',
|
|
||||||
dict(url=None, transport_url=None, rpc_backend='testbackend',
|
|
||||||
control_exchange=None, allowed=None,
|
|
||||||
expect=dict(backend='testbackend',
|
|
||||||
exchange=None,
|
|
||||||
url='testbackend:',
|
|
||||||
allowed=[]))),
|
|
||||||
('transport_url',
|
('transport_url',
|
||||||
dict(url=None, transport_url='testtransport:', rpc_backend=None,
|
dict(url=None, transport_url='testtransport:',
|
||||||
control_exchange=None, allowed=None,
|
control_exchange=None, allowed=None,
|
||||||
expect=dict(backend='testtransport',
|
expect=dict(backend='testtransport',
|
||||||
exchange=None,
|
exchange=None,
|
||||||
url='testtransport:',
|
url='testtransport:',
|
||||||
allowed=[]))),
|
allowed=[]))),
|
||||||
('url_param',
|
('url_param',
|
||||||
dict(url='testtransport:', transport_url=None, rpc_backend=None,
|
dict(url='testtransport:', transport_url=None,
|
||||||
control_exchange=None, allowed=None,
|
control_exchange=None, allowed=None,
|
||||||
expect=dict(backend='testtransport',
|
expect=dict(backend='testtransport',
|
||||||
exchange=None,
|
exchange=None,
|
||||||
url='testtransport:',
|
url='testtransport:',
|
||||||
allowed=[]))),
|
allowed=[]))),
|
||||||
('control_exchange',
|
('control_exchange',
|
||||||
dict(url=None, transport_url=None, rpc_backend='testbackend',
|
dict(url=None, transport_url='testbackend:',
|
||||||
control_exchange='testexchange', allowed=None,
|
control_exchange='testexchange', allowed=None,
|
||||||
expect=dict(backend='testbackend',
|
expect=dict(backend='testbackend',
|
||||||
exchange='testexchange',
|
exchange='testexchange',
|
||||||
url='testbackend:',
|
url='testbackend:',
|
||||||
allowed=[]))),
|
allowed=[]))),
|
||||||
('allowed_remote_exmods',
|
('allowed_remote_exmods',
|
||||||
dict(url=None, transport_url=None, rpc_backend='testbackend',
|
dict(url=None, transport_url='testbackend:',
|
||||||
control_exchange=None, allowed=['foo', 'bar'],
|
control_exchange=None, allowed=['foo', 'bar'],
|
||||||
expect=dict(backend='testbackend',
|
expect=dict(backend='testbackend',
|
||||||
exchange=None,
|
exchange=None,
|
||||||
@ -90,8 +83,7 @@ class GetTransportTestCase(test_utils.BaseTestCase):
|
|||||||
|
|
||||||
@mock.patch('oslo_messaging.transport.LOG')
|
@mock.patch('oslo_messaging.transport.LOG')
|
||||||
def test_get_transport(self, fake_logger):
|
def test_get_transport(self, fake_logger):
|
||||||
self.config(rpc_backend=self.rpc_backend,
|
self.config(control_exchange=self.control_exchange,
|
||||||
control_exchange=self.control_exchange,
|
|
||||||
transport_url=self.transport_url)
|
transport_url=self.transport_url)
|
||||||
|
|
||||||
driver.DriverManager = mock.Mock()
|
driver.DriverManager = mock.Mock()
|
||||||
@ -127,29 +119,27 @@ class GetTransportSadPathTestCase(test_utils.BaseTestCase):
|
|||||||
|
|
||||||
scenarios = [
|
scenarios = [
|
||||||
('invalid_transport_url',
|
('invalid_transport_url',
|
||||||
dict(url=None, transport_url='invalid', rpc_backend=None,
|
dict(url=None, transport_url='invalid',
|
||||||
ex=dict(cls=oslo_messaging.InvalidTransportURL,
|
ex=dict(cls=oslo_messaging.InvalidTransportURL,
|
||||||
msg_contains='No scheme specified',
|
msg_contains='No scheme specified',
|
||||||
url='invalid'))),
|
url='invalid'))),
|
||||||
('invalid_url_param',
|
('invalid_url_param',
|
||||||
dict(url='invalid', transport_url=None, rpc_backend=None,
|
dict(url='invalid', transport_url=None,
|
||||||
ex=dict(cls=oslo_messaging.InvalidTransportURL,
|
ex=dict(cls=oslo_messaging.InvalidTransportURL,
|
||||||
msg_contains='No scheme specified',
|
msg_contains='No scheme specified',
|
||||||
url='invalid'))),
|
url='invalid'))),
|
||||||
('driver_load_failure',
|
('driver_load_failure',
|
||||||
dict(url=None, transport_url=None, rpc_backend='testbackend',
|
dict(url=None, transport_url='testbackend:/',
|
||||||
ex=dict(cls=oslo_messaging.DriverLoadFailure,
|
ex=dict(cls=oslo_messaging.DriverLoadFailure,
|
||||||
msg_contains='Failed to load',
|
msg_contains='Failed to load',
|
||||||
driver='testbackend'))),
|
driver='testbackend'))),
|
||||||
]
|
]
|
||||||
|
|
||||||
def test_get_transport_sad(self):
|
def test_get_transport_sad(self):
|
||||||
self.config(rpc_backend=self.rpc_backend,
|
self.config(transport_url=self.transport_url)
|
||||||
transport_url=self.transport_url)
|
driver.DriverManager = mock.Mock()
|
||||||
|
|
||||||
if self.rpc_backend:
|
|
||||||
driver.DriverManager = mock.Mock()
|
|
||||||
|
|
||||||
|
try:
|
||||||
invoke_args = [self.conf,
|
invoke_args = [self.conf,
|
||||||
oslo_messaging.TransportURL.parse(self.conf,
|
oslo_messaging.TransportURL.parse(self.conf,
|
||||||
self.url)]
|
self.url)]
|
||||||
@ -157,16 +147,10 @@ class GetTransportSadPathTestCase(test_utils.BaseTestCase):
|
|||||||
allowed_remote_exmods=[])
|
allowed_remote_exmods=[])
|
||||||
|
|
||||||
driver.DriverManager.side_effect = RuntimeError()
|
driver.DriverManager.side_effect = RuntimeError()
|
||||||
try:
|
|
||||||
oslo_messaging.get_transport(self.conf, url=self.url)
|
oslo_messaging.get_transport(self.conf, url=self.url)
|
||||||
self.assertFalse(True)
|
driver.DriverManager.assert_called_once_with(
|
||||||
|
'oslo.messaging.drivers', invoke_on_load=True,
|
||||||
driver.DriverManager.\
|
invoke_args=invoke_args, invoke_kwds=invoke_kwds)
|
||||||
assert_called_once_with('oslo.messaging.drivers',
|
|
||||||
self.rpc_backend,
|
|
||||||
invoke_on_load=True,
|
|
||||||
invoke_args=invoke_args,
|
|
||||||
invoke_kwds=invoke_kwds)
|
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
ex_cls = self.ex.pop('cls')
|
ex_cls = self.ex.pop('cls')
|
||||||
ex_msg_contains = self.ex.pop('msg_contains')
|
ex_msg_contains = self.ex.pop('msg_contains')
|
||||||
|
@ -131,8 +131,6 @@ class TestParseURL(test_utils.BaseTestCase):
|
|||||||
]
|
]
|
||||||
|
|
||||||
def test_parse_url(self):
|
def test_parse_url(self):
|
||||||
self.config(rpc_backend=None)
|
|
||||||
|
|
||||||
url = oslo_messaging.TransportURL.parse(self.conf, self.url)
|
url = oslo_messaging.TransportURL.parse(self.conf, self.url)
|
||||||
|
|
||||||
hosts = []
|
hosts = []
|
||||||
@ -152,27 +150,18 @@ class TestParseURL(test_utils.BaseTestCase):
|
|||||||
class TestFormatURL(test_utils.BaseTestCase):
|
class TestFormatURL(test_utils.BaseTestCase):
|
||||||
|
|
||||||
scenarios = [
|
scenarios = [
|
||||||
('rpc_backend',
|
|
||||||
dict(rpc_backend='testbackend',
|
|
||||||
transport=None,
|
|
||||||
virtual_host=None,
|
|
||||||
hosts=[],
|
|
||||||
expected='testbackend:///')),
|
|
||||||
('transport',
|
('transport',
|
||||||
dict(rpc_backend=None,
|
dict(transport='testtransport',
|
||||||
transport='testtransport',
|
|
||||||
virtual_host=None,
|
virtual_host=None,
|
||||||
hosts=[],
|
hosts=[],
|
||||||
expected='testtransport:///')),
|
expected='testtransport:///')),
|
||||||
('virtual_host',
|
('virtual_host',
|
||||||
dict(rpc_backend=None,
|
dict(transport='testtransport',
|
||||||
transport='testtransport',
|
|
||||||
virtual_host='/vhost',
|
virtual_host='/vhost',
|
||||||
hosts=[],
|
hosts=[],
|
||||||
expected='testtransport:////vhost')),
|
expected='testtransport:////vhost')),
|
||||||
('host',
|
('host',
|
||||||
dict(rpc_backend=None,
|
dict(transport='testtransport',
|
||||||
transport='testtransport',
|
|
||||||
virtual_host='/',
|
virtual_host='/',
|
||||||
hosts=[
|
hosts=[
|
||||||
dict(hostname='host',
|
dict(hostname='host',
|
||||||
@ -182,8 +171,7 @@ class TestFormatURL(test_utils.BaseTestCase):
|
|||||||
],
|
],
|
||||||
expected='testtransport://bob:secret@host:10//')),
|
expected='testtransport://bob:secret@host:10//')),
|
||||||
('multi_host',
|
('multi_host',
|
||||||
dict(rpc_backend=None,
|
dict(transport='testtransport',
|
||||||
transport='testtransport',
|
|
||||||
virtual_host='',
|
virtual_host='',
|
||||||
hosts=[
|
hosts=[
|
||||||
dict(hostname='h1',
|
dict(hostname='h1',
|
||||||
@ -197,8 +185,7 @@ class TestFormatURL(test_utils.BaseTestCase):
|
|||||||
],
|
],
|
||||||
expected='testtransport://b1:s1@h1:1000,b2:s2@h2:2000/')),
|
expected='testtransport://b1:s1@h1:1000,b2:s2@h2:2000/')),
|
||||||
('quoting',
|
('quoting',
|
||||||
dict(rpc_backend=None,
|
dict(transport='testtransport',
|
||||||
transport='testtransport',
|
|
||||||
virtual_host='/$',
|
virtual_host='/$',
|
||||||
hosts=[
|
hosts=[
|
||||||
dict(hostname='host',
|
dict(hostname='host',
|
||||||
@ -210,8 +197,6 @@ class TestFormatURL(test_utils.BaseTestCase):
|
|||||||
]
|
]
|
||||||
|
|
||||||
def test_parse_url(self):
|
def test_parse_url(self):
|
||||||
self.config(rpc_backend=self.rpc_backend)
|
|
||||||
|
|
||||||
hosts = []
|
hosts = []
|
||||||
for host in self.hosts:
|
for host in self.hosts:
|
||||||
hosts.append(oslo_messaging.TransportHost(host.get('hostname'),
|
hosts.append(oslo_messaging.TransportHost(host.get('hostname'),
|
||||||
|
@ -53,12 +53,6 @@ _transport_opts = [
|
|||||||
'documentation of oslo_messaging.TransportURL at '
|
'documentation of oslo_messaging.TransportURL at '
|
||||||
'https://docs.openstack.org/oslo.messaging/latest/'
|
'https://docs.openstack.org/oslo.messaging/latest/'
|
||||||
'reference/transport.html'),
|
'reference/transport.html'),
|
||||||
cfg.StrOpt('rpc_backend',
|
|
||||||
deprecated_for_removal=True,
|
|
||||||
deprecated_reason="Replaced by [DEFAULT]/transport_url",
|
|
||||||
default='rabbit',
|
|
||||||
help='The messaging driver to use, defaults to rabbit. Other '
|
|
||||||
'drivers include amqp.'),
|
|
||||||
|
|
||||||
cfg.StrOpt('control_exchange',
|
cfg.StrOpt('control_exchange',
|
||||||
default='openstack',
|
default='openstack',
|
||||||
@ -339,7 +333,7 @@ class TransportURL(object):
|
|||||||
query=None):
|
query=None):
|
||||||
self.conf = conf
|
self.conf = conf
|
||||||
self.conf.register_opts(_transport_opts)
|
self.conf.register_opts(_transport_opts)
|
||||||
self._transport = transport
|
self.transport = transport
|
||||||
self.virtual_host = virtual_host
|
self.virtual_host = virtual_host
|
||||||
if hosts is None:
|
if hosts is None:
|
||||||
self.hosts = []
|
self.hosts = []
|
||||||
@ -350,33 +344,6 @@ class TransportURL(object):
|
|||||||
else:
|
else:
|
||||||
self.query = query
|
self.query = query
|
||||||
|
|
||||||
self._deprecation_logged = False
|
|
||||||
|
|
||||||
@property
|
|
||||||
def transport(self):
|
|
||||||
if self._transport is None:
|
|
||||||
transport = self.conf.rpc_backend
|
|
||||||
else:
|
|
||||||
transport = self._transport
|
|
||||||
final_transport = transport
|
|
||||||
if not self._deprecation_logged and final_transport != transport:
|
|
||||||
# NOTE(sileht): The first step is deprecate this one cycle.
|
|
||||||
# To ensure deployer have updated they configuration during Ocata
|
|
||||||
# Then in P we will deprecate aliases kwargs of TransportURL() and
|
|
||||||
# get_transport() for consuming application
|
|
||||||
LOG.warning('legacy "rpc_backend" is deprecated, '
|
|
||||||
'"%(legacy_transport)s" must be replaced by '
|
|
||||||
'"%(final_transport)s"' % {
|
|
||||||
'legacy_transport': transport,
|
|
||||||
'final_transport': final_transport})
|
|
||||||
self._deprecation_logged = True
|
|
||||||
|
|
||||||
return final_transport
|
|
||||||
|
|
||||||
@transport.setter
|
|
||||||
def transport(self, value):
|
|
||||||
self._transport = value
|
|
||||||
|
|
||||||
def __hash__(self):
|
def __hash__(self):
|
||||||
return hash((tuple(self.hosts), self.transport, self.virtual_host))
|
return hash((tuple(self.hosts), self.transport, self.virtual_host))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user