Core and Vendor code decomposition

Registered by Armando Migliaccio

Contributing and reviewing existing and/or new vendor code in Neutron is painful
for a number of reasons. This blueprint is proposing changes to the existing structure
of the project to address these pain points. More precisely changes to the following
areas are being promoted:

Neutron development process
Neutron code structure
Neutron testing

Blueprint information

Status:
Complete
Approver:
Kyle Mestery
Priority:
Essential
Drafter:
Armando Migliaccio
Direction:
Approved
Assignee:
Armando Migliaccio
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon 2015.1.0
Started by
Armando Migliaccio
Completed by
Kyle Mestery

Related branches

Sprints

Whiteboard

Progress

   https://github.com/openstack/neutron/blob/master/doc/source/devref/contribute.rst

Gerrit topic: https://review.openstack.org/#q,topic:bp/core-vendor-decomposition,n,z

Addressed by: https://review.openstack.org/134680
    Proposal for Neutron core and vendor code decomposition

Addressed by: https://review.openstack.org/141171
    Add developer documentation for plugins/drivers contributions

Gerrit topic: https://review.openstack.org/#q,topic:bug/1408339,n,z

Addressed by: https://review.openstack.org/145792
    Midonet plugin decomposition

Gerrit topic: https://review.openstack.org/#q,topic:bp/restructure-l3-agent,n,z

Addressed by: https://review.openstack.org/145979
    Move main entry point out of agent.py

Addressed by: https://review.openstack.org/146410
    Midonet plugin decomposition

Addressed by: https://review.openstack.org/146024
    DHCP agent restructuring

Addressed by: https://review.openstack.org/148428
    tools/split.sh: Tweak commit message

Addressed by: https://review.openstack.org/148614
    thin MLNX ML2 mechanism driver and agent

Addressed by: https://review.openstack.org/148745
    Add notes on how to deal with stable branches

Gerrit topic: https://review.openstack.org/#q,topic:bug/1412577,n,z

Addressed by: https://review.openstack.org/148749
    Separate backend and db methods in Arista driver

Gerrit topic: https://review.openstack.org/#q,topic:bug/1412653,n,z

Addressed by: https://review.openstack.org/#/c/149936/ (ofagent devstack)
    ofagent: Vendor code split

Addressed by: https://review.openstack.org/149941 (ofagent neutron)
    ofagent: Vendor code decomposition

Addressed by: https://review.openstack.org/150239
    test_l2population: Use a local copy of ofagent mech driver

Gerrit topic: https://review.openstack.org/#q,topic:bug/1414902,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bug/1416713,n,z

Addressed by: https://review.openstack.org/151893
    Move NCS mech driver and add requirements.txt

Addressed by: https://review.openstack.org/151992
    Pluribus Networks decomposition plugin

Addressed by: https://review.openstack.org/152126
    NSX DB models split, part 1

Addressed by: https://review.openstack.org/152212
    NSX DB models split, part 2

Addressed by: https://review.openstack.org/152216
    NSX DB models split, part 3 (and final)

Addressed by: https://review.openstack.org/152379
    Add section for DevStack Integration Strategies to the DevRef

Addressed by: https://review.openstack.org/152707
    Provide more details about testing strategies

Addressed by: https://review.openstack.org/152870
    VMware: consolidate NSX models

Addressed by: https://review.openstack.org/153259
    Hyper-V Agent decomposition

Addressed by: https://review.openstack.org/153394
    Deprecate HyperVNeutronPlugin

Gerrit topic: https://review.openstack.org/#q,topic:bug/1419010,n,z

Addressed by: https://review.openstack.org/153601
    Cisco Nexus ML2 Vendor decomposition

Addressed by: https://review.openstack.org/153777
    Fix minor nits with the devref's contribute section

Addressed by: https://review.openstack.org/154691
    NEC: Merge NEC plugin models into single module

Gerrit topic: https://review.openstack.org/#q,topic:bug/1420045,n,z

Addressed by: https://review.openstack.org/154709
    Add ML2 VLAN mechanism driver for Brocade MLX and ICX switches.

Addressed by: https://review.openstack.org/155436
    Cisco UCS Manager ML2 Mechanism Driver

Gerrit topic: https://review.openstack.org/#q,topic:bp/ovs-ofctl-to-python,n,z

Addressed by: https://review.openstack.org/118620
    Make l2pop UT independent from OVS

Addressed by: https://review.openstack.org/156288
    Removes tables used by Hyper-V Neutron Plugin

Addressed by: https://review.openstack.org/156823
    Nuage core plugin decomposition

Gerrit topic: https://review.openstack.org/#q,topic:bp/ml2-n1kv-mechanism-driver,n,z

Addressed by: https://review.openstack.org/157243
    Cisco Nexus1000V ML2 Mechanism Driver

Gerrit topic: https://review.openstack.org/#q,topic:bug/1414733,n,z

Addressed by: https://review.openstack.org/159056
    Brocade Vyatta vrouter shim plugin for vendor decomposition

Addressed by: https://review.openstack.org/160109
    Capture progress chart for vendor decomposition

Addressed by: https://review.openstack.org/160124
    PLUMgrid plugin decomposition

Addressed by: https://review.openstack.org/160175
    Add cisco decomposition progress to chart

Addressed by: https://review.openstack.org/160321
    Improve structure of Vendor Decomposition progress chart

Addressed by: https://review.openstack.org/160300
    Progress chart for MidoNet

Addressed by: https://review.openstack.org/160463
    Decompose the VMware plugin

Addressed by: https://review.openstack.org/160523
    contribute.rst: Fill in the current status of ofagent

Gerrit topic: https://review.openstack.org/#q,topic:bug/1415304,n,z

Addressed by: https://review.openstack.org/151464
    Metaplugin decomposition

Addressed by: https://review.openstack.org/160702
    [contribute.rst] Current status of Freescale Codebase.

Addressed by: https://review.openstack.org/160712
    SeaMicro plugin decomposition

Gerrit topic: https://review.openstack.org/#q,topic:bug/1427588,n,z

Addressed by: https://review.openstack.org/160360
    Big Switch Networks code split

Addressed by: https://review.openstack.org/161651
    Add mellanox decomposition progress to chart

Gerrit topic: https://review.openstack.org/#q,topic:bug/1428909,n,z

Addressed by: https://review.openstack.org/161984
    Arista L3 Service Plugin decomposition

Addressed by: https://review.openstack.org/162088
    Networking OVS-DPDK plugin decomposition

Addressed by: https://review.openstack.org/162103
    NEC plugin code split

Addressed by: https://review.openstack.org/162693
    Move mlnx agent to be under ml2/drivers/mlnx

Addressed by: https://review.openstack.org/162555
    ofagent: Have a thin driver module

Addressed by: https://review.openstack.org/163218
    OpenContrail plugin code split

Addressed by: https://review.openstack.org/163244
    Add README and requirements.txt for VMware plugins

Addressed by: https://review.openstack.org/163256
    contribute.rst: Use consistent tags

Addressed by: https://review.openstack.org/163273
    ofagent: Update after networking-ofagent release

Addressed by: https://review.openstack.org/130471
    IBM SDN-VE Plugin decomposition

Addressed by: https://review.openstack.org/163996
    Update contribute.rst with Big Switch decomp

Gerrit topic: https://review.openstack.org/#q,topic:bug/1426365,n,z

Addressed by: https://review.openstack.org/160247
    Ml2 Mechanism Driver for OVSvApp Solution

Gerrit topic: https://review.openstack.org/#q,topic:bug/1433397,n,z

Addressed by: https://review.openstack.org/168571
    Update NEC plugin decomposition status

Addressed by: https://review.openstack.org/173549
    Update decomp progress chart

Gerrit topic: https://review.openstack.org/#q,topic:bug/1430394,n,z

Addressed by: https://review.openstack.org/185072
    Merge branch 'master' into neutron-pecan

Addressed by: https://review.openstack.org/193365
    Decompose Apic ML2 mechanism driver

Addressed by: https://review.openstack.org/205383
    Moved out cisco n1kv database models

Addressed by: https://review.openstack.org/207654
    Arista Drivers decomposition part II

Gerrit topic: https://review.openstack.org/#q,topic:bug/1478512,n,z

Addressed by: https://review.openstack.org/207903
    Merge remote-tracking branch 'origin/master' into merge-branch

Addressed by: https://review.openstack.org/210556
    Remove vmware plugin from neutron (etc part)

Addressed by: https://review.openstack.org/211196
    PLUMgrid plugin decomposition part II

Addressed by: https://review.openstack.org/211370
    NSX: Move DB models as part of core vendor decomposition

Gerrit topic: https://review.openstack.org/#q,topic:bug/1374473,n,z

Addressed by: https://review.openstack.org/211492
    Merge remote-tracking branch 'origin/master' into merge-branch

Gerrit topic: https://review.openstack.org/#q,topic:bug/1484160,n,z

Addressed by: https://review.openstack.org/212081
    Final decomposition of the ML2 NCS driver

Addressed by: https://review.openstack.org/213266
    Final decomposition of ML2 Nexus Driver

Addressed by: https://review.openstack.org/213514
    NSX plugin: Moving away plugin extensions

Addressed by: https://review.openstack.org/213668
    Final decomposition of ML2 Cisco UCSM driver

Addressed by: https://review.openstack.org/215155
    This changeset removes ML2 Nuage driver vendor code, currently present in neutron core to vendor repo.

Addressed by: https://review.openstack.org/216071
    Decomposition phase2 of NEC plugin

Gerrit topic: https://review.openstack.org/#q,topic:bug/1487598,n,z

Addressed by: https://review.openstack.org/218710
    Merge remote-tracking branch 'origin/master' into merge-branch

Addressed by: https://review.openstack.org/219107
    Remove requirements.txt for decomposed plugins/drivers

Gerrit topic: https://review.openstack.org/#q,topic:bug/1490832,n,z

Addressed by: https://review.openstack.org/219887
    Merge remote-tracking branch 'origin/master' into merge-master-into-pecan

Addressed by: https://review.openstack.org/223903
    Remove requirements.txt for the ofagent mechanism driver

Gerrit topic: https://review.openstack.org/#q,topic:bug/1478847,n,z

Addressed by: https://review.openstack.org/224334
    Merge remote-tracking branch 'origin/master' into merge-pecan-resolve-conflict

Gerrit topic: https://review.openstack.org/#q,topic:bug/1486039,n,z

Addressed by: https://review.openstack.org/224357
    Merge remote-tracking branch 'origin/master' into walnut

Addressed by: https://review.openstack.org/229697
    Remove OpenContrail plugin from the source tree

Addressed by: https://review.openstack.org/231254
    Remove OneConvergence plugin from the source tree

Gerrit topic: https://review.openstack.org/#q,topic:bug/1510826,n,z

Addressed by: https://review.openstack.org/243423
    Remove MidonetInterfaceDriver

Addressed by: https://review.openstack.org/255057
    Remove a remaining reference to mm-ctl

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.