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: I02b5d1b3f4a9169cbf428a5eff9c6705494741af
Closes-Bug: #1588151
This commit is contained in:
ZhiQiang Fan 2016-06-02 20:19:28 +08:00
parent c4286d672f
commit d7f8ce94e4

View File

@ -33,8 +33,9 @@ def get_transport(url=None, optional=False, cache=True):
if not transport or not cache:
try:
transport = oslo_messaging.get_transport(cfg.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