Oops, sent too fast, sorry. I try again. Hi,
Since Mitaka release, a default service plugins list is loaded when Neutron server starts [1]. That list is not editable and was extended with few services [2]. But all of them rely on the Neutron DB model. If a core driver is not based on the ML2 core plugin framework or not based on the 'neutron.db.models_v2' class, all that service plugins will not work. So my first question is Does Neutron still support core plugin not based on ML2 or 'neutron.db.models_v2' class? If yes, I would like to propose two solutions: - permits core plugin to overload the service plugin class by it's own implementation and continuing to use the actual Neutron db based services as default. - modifying all default plugin service to use service plugin driver framework [3], and set the actual Neutron db based implementation as default driver for services. That permits to core drivers not based on the Neutron DB to specify a driver. We can see that solution was adopted in the networking-bgpvpn project, where can find two abstract driver classes, one for core driver based on Neutron DB model [4] and one used by core driver not based on the DB [5] as the Contrail driver [6]. [1] https://github.com/openstack/neutron/commit/aadf2f30f84dff3d85f380a7ff4e16dbbb0c6bb0#diff-9169a6595980d19b2649d5bedfff05ce [2] https://github.com/openstack/neutron/blob/master/neutron/plugins/common/constants.py#L43 [3] https://github.com/openstack/neutron/blob/master/neutron/services/service_base.py#L27 [4] https://github.com/openstack/networking-bgpvpn/blob/master/networking_bgpvpn/neutron/services/service_drivers/driver_api.py#L226 [5] https://github.com/openstack/networking-bgpvpn/blob/master/networking_bgpvpn/neutron/services/service_drivers/driver_api.py#L23 [6] https://github.com/Juniper/contrail-neutron-plugin/blob/master/neutron_plugin_contrail/plugins/opencontrail/networking_bgpvpn/contrail.py#L36 Regards, Édouard. On Mon, Jun 19, 2017 at 10:47 AM, Édouard Thuleau <[email protected]> wrote: > Hi, > Since Mitaka release [1], a default service plugins list is loaded > when Neutron server starts. That list is not editable and was extended > with few services [2]. But none of th > > [1] > https://github.com/openstack/neutron/commit/aadf2f30f84dff3d85f380a7ff4e16dbbb0c6bb0#diff-9169a6595980d19b2649d5bedfff05ce > [2] > https://github.com/openstack/neutron/blob/master/neutron/plugins/common/constants.py#L43 __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
