Improve core plugin extension filtering using the mechanism driver information
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Wishlist
|
Rodolfo Alonso |
Bug Description
Those are the current steps to load the plugins and extensions during the Neutron server initialization:
1) The plugins are loaded. The first one is the core plugin (ML2Plugin). During the initialization, the mechanism drivers are loaded [1].
2) The PluginAwareExte
Some plugins, "Ml2Plugin" and "L3RouterPlugin", implement a non standard method (at least not defined in the ServicePluginBase abs class) to remove from the supported extensions list those ones not matching a defined criteria.
3) The PluginAwareExte
The proposal of this RFE is to add a step in this process, between (2) and (3): each plugin will be able to revisit the list of loaded extensions and unload gracefully those ones not needed.
In this description I'm reducing the scope of this feature to just the ML2Plugin. This plugin will filter the extension list depending on the loaded mechanism drivers. If one extension is not supported by any loaded mechanism driver, it will be removed. This is very similar to the process done in (2) when "Ml2Plugin" or "L3RouterPlugin" remove those extensions not configured or not supported.
In order to allow each mechanism driver to filter the loaded extensions, the mechanism driver will have two lists:
- A list of supported extensions.
- A list of not supported extensions.
In some cases, it will be easier to maintain only this list of not supported extensions (could be shorter).
If a mechanism driver does not have any of those lists populated (by default), the behavior will be current one, keeping backwards compatibility.
[1]https:/
[2]https:/
[3]https:/
Changed in neutron: | |
assignee: | nobody → Rodolfo Alonso (rodolfo-alonso-hernandez) |
importance: | Undecided → Wishlist |
Changed in neutron: | |
status: | New → Fix Released |
Related fix proposed to branch: master /review. opendev. org/743519
Review: https:/