Don't fatal error during initialization for missing service providers

Sometime during the split, code was added to fixup driver paths,
which imports service providers even for plugins which are not
in use. That, combined with neutron including default service
providers for VPN and LOADBALANCER, resulted in a really messy
mess in terms of removing VPN from the main neutron test suites.

This change stops the imports, so that if one of the services is
missing, neutron server can still start. It likely breaks the driver
path fixup, which can be fixed outside of this gate blockage.

Closes-Bug: #1483266
Change-Id: I23f9007357d8cbbae599997c244561a4e2f32ce1
This commit is contained in:
Doug Wiegley 2015-08-17 09:17:46 -06:00 committed by Doug Wiegley
parent 976dbe2084
commit 805496dd5c
1 changed files with 2 additions and 0 deletions

View File

@ -51,6 +51,8 @@ def get_provider_driver_class(driver, namespace=SERVICE_PROVIDERS):
try:
driver_manager = stevedore.driver.DriverManager(
namespace, driver).driver
except ImportError:
return driver
except RuntimeError:
return driver
new_driver = "%s.%s" % (driver_manager.__module__,