]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Relax service module check on service providers
authorarmando-migliaccio <armamig@gmail.com>
Fri, 18 Sep 2015 20:13:59 +0000 (13:13 -0700)
committerArmando Migliaccio <armamig@gmail.com>
Mon, 21 Sep 2015 17:56:51 +0000 (17:56 +0000)
commitd24633a4688b951f2b4d29b3248019588b3e198a
tree96df80d27c5f6910dbaacd2c357b9cd759a95cfa
parent522b278963701bd8cc6f05bf7a4212bd4aad0794
Relax service module check on service providers

service_provider is a 'special' configuration. It is a MultiStr
option that used to be in neutron.conf, but moved into its own *-aas
config files after the service split. We allow for the definition to
be available 'anywhere': either in neutron.conf or in the *-aas
service's config file.

The list of 'service_provider' can include drivers from within the *-aas
tree, or from elsewhere, and can apply to different service types. Due to
the polymorphic nature of this variable it is very tricky to identify only
the drivers that pertain a specific service module: the service module
may as well implement more than one service type and may have support
from drivers out of tree.

For this reason it is best to relax this check and rely on query filters
when the ServiceManager.get_service_providers() is invoked. Furthermore,
without this fix there was a situation where the value returned by
'service_providers' may be differ depending on how the configuration is
passed on the CLI, and this inconsistency may only cause headaches.

Closes-bug: #1492069

Change-Id: I4db4ce0b287c984d86181227edf769531ecb7bb8
neutron/services/provider_configuration.py