Loading…
Juno Design Summit has ended
Wednesday, May 14 • 11:50am - 12:30pm
ML2 Juno Roadmap

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Internal ML2 technical details and architecture session.

This session will include the following subject(s):

Extension support for ML2 Mechanism Drivers:

Support for extensions in ML2 Mechanism Drivers.

Blueprint:
https://blueprints.launchpad.net/neutron/+spec/neutron-ml2-mechanismdriver-extensions

With existing ML2Plugin, only extensions defined in the plugin are supported and if a mechanism driver defines
a new extension it won't be loaded.
This blueprint is addressing this issue.

The following changes can be considered as a solution to support extensions in mechanism driver:
1. If mechanism driver needs to support any extension, it should add:
a) _supported_extension_aliases attribute to its class.
b) extension path to the api_extensions_path.
2. Add new method in Ml2Plugin:
This new method should go through the order_mech_drivers and if there is any aliases supported, add it to existing
list of aliases in the Ml2Plugin (i.e. _supported_extension_aliases)

3. In resource's post/pre_commit method (for network, port, subnet) there is no way for mechanism driver to know the original
data passed to the plaugin.
For instance for network resource, when a network is created with an extension attribute in the network parameters, according
to the code below, the 'result' and 'mech_context' do not include the extension's attribute. So mechanism driver cannot use
the required info passed to the create_network.
365 def create_network(self, context, network):
366 net_data = network['network']

Wednesday May 14, 2014 11:50am - 12:30pm EDT
B304

Attendees (0)