[openstack-dev] [neutron] extension implemented by multiple plugins

Ihar Hrachyshka ihrachys at redhat.com
Mon Aug 17 14:46:17 UTC 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 08/17/2015 04:35 PM, Bence Romsics wrote:
> Hi All,
> 
> How do I implement one extension by two plugins?
> 
> If I extend the API by: * a first class resource, and * attributes
> to an already existing resource (the port resource in my case).
> 
> These two parts don't make sense without each other, so I'd like
> to keep this as one extension, not two.
> 

That's exactly what we needed in feature/qos: we have new QoS policy
and rules objects, and we extend networks and ports with qos_policy_id.

> Then naturally I'd like to implement: * the first class resource as
> a service plugin, and * the new port attributes as an ml2 extension
> driver.
> 
> And straightforwardly I put the same extension alias into both the 
> service plugin and the ml2 extension driver. Then I get this
> error:
> 
> File "/opt/stack/neutron/neutron/manager.py", line 199, in
> _load_service_plugins ValueError: Multiple plugins for service
> TRUNK_PORT were configured

Indeed it does not currently allow it. But in feature/qos, we solved
it as in line 760:

https://review.openstack.org/#/c/203105/6/neutron/plugins/ml2/managers.p
y

And the feature/qos branch is scheduled to merge back into master in
next days: https://review.openstack.org/212170

So you can base your work on top of the merge patch and claim problem
solved. :)

Ihar
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJV0fO1AAoJEC5aWaUY1u57SgEIAJYy3UAjqT4NXF8CdNfy3jcv
5dw4fqktjlj0yaiOOGM+J98vi3wVTnz+qQsk+jkS5M/0hySYQyo0M8JPF38PlRIW
Jw5vjZJZjdOivn3y/fccGq7ph3T0KTYPvCyc2nThVxGxaFB/mb4TLuZlGzXh2vYt
PsIjW15V56zIhHK2oS9t32DAfd64fvz86BfpNwuizKLAqyqnO84fWysxuK8P5rnC
2S67YmP3DeC0IhVbDLNs1Gzpk4mMpQpbRIHiZR2gIVFswy4EKuwoDjDY0AgVb0zw
6+BovJNdm1BWiNbQgNnn6K2LC53Nsc95WQzLeticzvLGGyG7cz4pMyraIDoBfqg=
=OKeU
-----END PGP SIGNATURE-----



More information about the OpenStack-dev mailing list