Contrail Neutron plugin cannot load default Neutron service plugin

Bug #1729052 reported by Édouard Thuleau
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
Trunk
Fix Committed
High
Édouard Thuleau

Bug Description

Since patch [1], Neutron server load a default service plugins list which all of them depend on the Neutron DB model. So for the Contrial core plugin which implements only the NeutronPluginBaseV2 interface [2] and not the NeutronDbPluginV2 interface [3], most of the service plugins of that list will be initialized without any errors (only the timestamp plugin fails to initialize because it tries to do DB stuff in its constructor [4] on master (future Pike release)).
And all API extensions of that service plugins are listed as supported but none of them works. Resources are not extended (tag, revision, auto-allocate) or some API extensions returns 404 (network-ip-availability or flavors).

[1] https://github.com/openstack/neutron/commit/aadf2f30f84dff3d85f380a7ff4e16dbbb0c6bb0#diff-9169a6595980d19b2649d5bedfff05ce
[2] https://github.com/openstack/neutron/blob/master/neutron/neutron_plugin_base_v2.py#L30
[3] https://github.com/openstack/neutron/blob/master/neutron/db/db_base_plugin_v2.py#L124
[4] https://github.com/openstack/neutron/blob/master/neutron/services/timestamp/timestamp_plugin.py#L32

Tags: neutron
information type: Proprietary → Public
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/37021
Submitter: ?douard Thuleau (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Review in progress for https://review.opencontrail.org/37442
Submitter: ?douard Thuleau (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Review in progress for https://review.opencontrail.org/37021
Submitter: ?douard Thuleau (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/37021
Committed: http://github.com/Juniper/contrail-neutron-plugin/commit/b7c364efd3f876ce858ba34465392aaea257efcc
Submitter: Zuul (<email address hidden>)
Branch: master

commit b7c364efd3f876ce858ba34465392aaea257efcc
Author: Édouard Thuleau <email address hidden>
Date: Tue Oct 31 18:04:30 2017 +0100

Monkey patch Neutron to load default service

Neutron loads a list of default services when it is initializing but most
of that services relie on the Neutron DB model. As Contrail does not use
that model, all that services cannot work.
That patch permits to load services declared under python entry point
'neutron.extension_services.contrail' if they exist and ignore them if
not (only for the default service extensions list loaded by Neutron).
It also implement a contrail TimeStamp service extension (API get with
the change_since attribute not yet implemented).

Closes-Bug: #1729052
Change-Id: I755f3570557556248cd3dc5730352cb582dfa043

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/41076
Submitter: Édouard Thuleau (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Review in progress for https://review.opencontrail.org/37442
Submitter: Édouard Thuleau (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/41076
Committed: http://github.com/Juniper/contrail-neutron-plugin/commit/69239a13adc0f29f9cde9b234e959b2e8e63d976
Submitter: Zuul v3 CI (<email address hidden>)
Branch: master

commit 69239a13adc0f29f9cde9b234e959b2e8e63d976
Author: Édouard Thuleau <email address hidden>
Date: Mon Mar 26 15:37:27 2018 +0200

Revert "Monkey patch Neutron to load default service"

This reverts commit b7c364efd3f876ce858ba34465392aaea257efcc.
As the fix [1] was backported to Pike [1] (bring in Pike 11.0.3 stable
release), we can avoid to monkey patch loading of neutron service
plugins.

[1] https://review.openstack.org/#/c/518788/
[2] https://review.openstack.org/#/q/topic:bug/1700651+(status:open+OR+status:merged)
Closes-Bug: #1729052

Change-Id: I225f081b6a8404419f64f86f2e13cf48dc8fcbc4

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Reviewed: https://review.opencontrail.org/37442
Committed: http://github.com/Juniper/contrail-neutron-plugin/commit/49bc233825b918c2d595c95e376b550ebe7f3ec2
Submitter: Zuul v3 CI (<email address hidden>)
Branch: master

commit 49bc233825b918c2d595c95e376b550ebe7f3ec2
Author: Édouard Thuleau <email address hidden>
Date: Tue Oct 31 18:04:30 2017 +0100

Add Contrail TimeStamp service plugin

Since patch [0], Neutron does not load default service plugins if the
core driver is not base on the Neutron DB model as that services depend
on that model.
This patch implements its own service plugin 'TimeStamp' and adds it to
the 'neutron.service_plugins' python namespace. To enable it, it must be
specified in a neutron config files like this:

service_plugins = contrail-timestamp

Closes-Bug: #1729052
[0] https://review.openstack.org/#/c/518788/

Change-Id: I0aa685543427ec15cec95e4ac75754826dffbb86

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.