Catch DriverLoadFailure for get_transport optional

new oslo.messaging 5.2.0 release will raise
oslo_messaging.transport.DriverLoadFailure if no existent transport
driver, hence breaks our code and unit test as well.

This patch fixes it by adding DriverLoadFailure to catch list.

Change-Id: I318d4b93beac9d1816fe4b5f9eb9de98e4debc04
Closes-Bug: #1588151
This commit is contained in:
liusheng 2016-06-02 12:51:31 +08:00
parent 6f897a20bf
commit 9c5df8400b

View File

@ -33,8 +33,9 @@ def get_transport(conf, url=None, optional=False, cache=True):
if not transport or not cache:
try:
transport = oslo_messaging.get_transport(conf, url)
except oslo_messaging.InvalidTransportURL as e:
if not optional or e.url:
except (oslo_messaging.InvalidTransportURL,
oslo_messaging.DriverLoadFailure):
if not optional or url:
# NOTE(sileht): oslo_messaging is configured but unloadable
# so reraise the exception
raise