[Neutron] How to add Fake ML2 extension to Neutron?

Lajos Katona katonalala at gmail.com
Wed Aug 24 06:54:30 UTC 2022


Hi Igor,
The line which is interesting for you: "Extension vpc_extension not
supported by any of loaded plugins"
In core Neutron for ml2 there is a list of supported extension aliases:
https://opendev.org/openstack/neutron/src/branch/master/neutron/plugins/ml2/plugin.py#L200-L239

And there is a similar for l3 also:
https://opendev.org/openstack/neutron/src/branch/master/neutron/services/l3_router/l3_router_plugin.py#L98-L110

Or similarly for QoS:
https://opendev.org/openstack/neutron/src/branch/master/neutron/services/qos/qos_plugin.py#L76-L90

So you need a plugin that uses the extension.

Good luck :-)
Lajos Katona (lajoskatona)

Igor Zhukov <fsb4000 at yandex.ru> ezt írta (időpont: 2022. aug. 23., K,
16:04):

> Hi again!
>
> Do you know how to debug  ML2 extension drivers?
>
> I created folder with two python files: vpc/extensions/vpc.py  and
> vpc/plugins/ml2/drivers/vpc.py (also empty __init__.py files)
>
> I added to neuron.conf
> api_extensions_path = /path/to/vpc/extensions
>
> and I added to ml2_ini.conf
> extension_drivers = port_security,
> vpc.plugins.ml2.drivers.vpc:VpcExtensionDriver
>
> and my neutron.server.log has:
>
> INFO neutron.plugins.ml2.managers [-] Configured extension driver names:
> ['port_security', 'vpc_neutron.plugins.ml2.drivers.vpc:VpcExtensionDriver']
> WARNING stevedore.named [-] Could not load
> vpc_neutron.plugins.ml2.drivers.vpc:VpcExtensionDriver
> ....
> INFO neutron.api.extensions [req-fd226631-b0cd-4ff8-956b-9470e7f26ebe - -
> - - -] Extension vpc_extension not supported by any of loaded plugins
>
> How can I find why the extension driver could not be loaded?
>
> > Hi,The fake_extension is used only in unit tests to test the extension
> framework, i.e. :
> >
> https://opendev.org/openstack/neutron/src/branch/master/neutron/tests/unit/plugins/ml2/drivers/ext_test.py#L37
> >
> > If you would like to write an API extension check
> neutron-lib/api/definitions/ (and you can find the extensions "counterpart"
> under neutron/extensions in neutron repository)
> >
> > You can also check other Networking projects like networking-bgvpn,
> neutron-dynamic-routing to have examples of API extensions.
> > If you have an extension under neutron/extensions and there's somebody
> who uses it (see [1]) you will see it is loaded in neutron servers logs
> (something like this: "Loaded extension: address-group") and you can find
> it in the output of openstack extension list --network
> >
> > [1]:
> https://opendev.org/openstack/neutron/src/branch/master/neutron/plugins/ml2/plugin.py#L200
> >
> > Best wishes
> > Lajos Katona
> >
> > Igor Zhukov <fsb4000 at yandex.ru> ezt írta (időpont: 2022. aug. 22., H,
> 19:41):
> >
> >> Hi all!
> >>
> >> Sorry for a complete noob question but I can't figure it out 😿
> >>
> >> So if I want to add Fake ML2 extension what should I do?
> >>
> >> I have neutron server installed and I have the file:
> https://github.com/openstack/neutron/blob/master/neutron/tests/unit/plugins/ml2/extensions/fake_extension.py
> >>
> >> How to configure neutron server, where should I put the file, should I
> create another files? How can I test that it works?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.openstack.org/pipermail/openstack-discuss/attachments/20220824/0066b99d/attachment.htm>


More information about the openstack-discuss mailing list