The issue is mainly developer resources. Everyone currently working upstream doesn't have the bandwidth to keep adding/reviewing the layers of interfaces to make the DB optional that go untested. (None of the projects that would use them run a CI system that reports results on Neutron patches.)
I think we can certainly accept patches to do the things you are proposing, but there is no guarantee that it won't regress to being DB-dependent until there is something reporting results back telling us when it breaks. So it's not that the community is against non-DB core plugins, it's just that the people developing those plugins don't participate in the community to ensure they work. Cheers On Mon, Jun 19, 2017 at 2:15 AM, Édouard Thuleau <[email protected]> wrote: > 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/aadf2f30f84dff3d > 85f380a7ff4e16dbbb0c6bb0#diff-9169a6595980d19b2649d5bedfff05ce > [2] https://github.com/openstack/neutron/blob/master/neutron/plu > gins/common/constants.py#L43 > [3] https://github.com/openstack/neutron/blob/master/neutron/ser > vices/service_base.py#L27 > [4] https://github.com/openstack/networking-bgpvpn/blob/master/n > etworking_bgpvpn/neutron/services/service_drivers/driver_api.py#L226 > [5] https://github.com/openstack/networking-bgpvpn/blob/master/n > etworking_bgpvpn/neutron/services/service_drivers/driver_api.py#L23 > [6] https://github.com/Juniper/contrail-neutron-plugin/blob/mast > er/neutron_plugin_contrail/plugins/opencontrail/networkin > g_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/aadf2f30f84dff3d > 85f380a7ff4e16dbbb0c6bb0#diff-9169a6595980d19b2649d5bedfff05ce > > [2] https://github.com/openstack/neutron/blob/master/neutron/plu > gins/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 >
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
