Log when the placement service plugin is used wrongly

Log explicitly when an invalid plugin combination is requested in the
config.

The placement service plugin cannot be used with non-ML2 core
plugins. neutron-server already exits when misconfigured like that
(when a plugin raises an uncaught exception in its __init__())
so I didn't change anything about that. This change only adds a more
explicit log message for this misconfiguration.

Change-Id: Ida1a3188f8b3145cf270d280bf942b3950c0779c
Related-Bug: #1578989
Related-Bug: #1818479
This commit is contained in:
Bence Romsics 2019-05-22 13:01:17 +02:00
parent dfc2586fb1
commit d10ba94d36
1 changed files with 10 additions and 2 deletions

View File

@ -206,8 +206,16 @@ class PlacementReporterAgents(object):
# Yep, this is meant to depend on ML2.
def __init__(self, ml2_plugin):
self._mechanism_drivers = ml2_plugin.mechanism_manager.\
ordered_mech_drivers
try:
self._mechanism_drivers = ml2_plugin.mechanism_manager.\
ordered_mech_drivers
except AttributeError:
LOG.error(
"Invalid plugin configuration: "
"The placement service plugin depends on the ML2 core plugin. "
"You likely want to remove 'placement' from "
"neutron.conf: DEFAULT.service_plugins")
raise
self._supported_agent_types = []
self._agent_type_to_mech_driver = {}