Hi stackers,

According to my statistics(J2), the LOC of vendors' plugin and driver is
about 102K, while the whole under neutron is 220K.
That is to say the community has paid and is paying over 46% energy to
maintain vendors' code. If we take mails, bugs,
BPs  and so on into consideration, this percentage will be more.

Most of these codes are just plugins and drivers implementing almost  the
same functions. Every vendor submits a plugin,
and the community only do the same thing, repeat and repeat. Meaningless.I
think it's time to move them out.
Let's focus on improving those exist but still weak features, on
introducing important and interesting new features.

My suggestions now:
1.monopolized plugins
  1)The community only standards NB API and keeps built-ins, such as ML2,
OVS and Linux bridge plugins.
  2)Vendors maintain their plugins locally.
  3)Users get neutron from community and plugin from some vendor on demand.
2.service plugins
  1)The community standards SB API and keeps open source driver(iptables,
openSwan and etc.) as built-in.
  2)Vendors only provide drivers not plugin. And those drivers also need
not deliver to community.
  3)Like above, Users can get code on demand from vendors or just use open
3.ML2 plugin
  1)Like service and monopolized plugin, the community just keep open
source implementations as built-in.
  2)L2-population should be kept.

I am very happy to discuss this further.

vendors' code stat. table(excluding built-in plugins and drivers)
Path                                                     Size
neutron-master\neutron\plugins\    63170
neutron-master\neutron\services\     4052
neutron-master\neutron\tests\             35756

OpenStack-dev mailing list

Reply via email to