From b760fdf6640aedfcf480dd80913f4cf64bfcc51d Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Tue, 21 Apr 2015 11:53:08 -0400 Subject: [PATCH] Add notes about official sub-projects. There was recently a thread on openstack-dev titled "A big tent home for Neutron backend code." The thread began here: http://lists.openstack.org/pipermail/openstack-dev/2015-April/062310.html and has roughly ended up here: http://lists.openstack.org/pipermail/openstack-dev/2015-April/062853.html This patch is an attempt to reflect the end of that thread with updates to docs. Any further discussion should just continue on openstack-dev to avoid forking the discussion between openstack-dev and gerrit. Change-Id: I48dbe8ac69e60fbfd5e5082844004aaf9fdce539 --- doc/source/devref/contribute.rst | 280 ------------------- doc/source/devref/index.rst | 1 + doc/source/devref/sub_projects.rst | 360 +++++++++++++++++++++++++ doc/source/policies/bugs.rst | 8 + doc/source/policies/core-reviewers.rst | 13 + 5 files changed, 382 insertions(+), 280 deletions(-) create mode 100644 doc/source/devref/sub_projects.rst diff --git a/doc/source/devref/contribute.rst b/doc/source/devref/contribute.rst index 2a3216b3084..caa64326bee 100644 --- a/doc/source/devref/contribute.rst +++ b/doc/source/devref/contribute.rst @@ -405,120 +405,6 @@ will be removed. The following aspects are captured: | networking-cisco_ | core,ml2,l3,fw,vpn | yes | yes | [B] | | +-------------------------------+-----------------------+-----------+------------------+---------+--------------+ -Affiliated projects -=================== - -This table shows projects that integrate with Neutron, in one form or another. These projects -typically leverage the pluggable capabilities of Neutron, the Neutron API, or a combination of both. - -+-------------------------------+-----------------------+ -| Name | Functionality | -+===============================+=======================+ -| dragonflow_ | l3 | -+-------------------------------+-----------------------+ -| group-based-policy_ | intent | -+-------------------------------+-----------------------+ -| networking-arista_ | ml2,l3 | -+-------------------------------+-----------------------+ -| networking-bagpipe-l2_ | vpn | -+-------------------------------+-----------------------+ -| networking-bgpvpn_ | vpn | -+-------------------------------+-----------------------+ -| networking-bigswitch_ | ml2,core,l3 | -+-------------------------------+-----------------------+ -| networking-brocade_ | ml2,l3 | -+-------------------------------+-----------------------+ -| networking-edge-vpn_ | vpn | -+-------------------------------+-----------------------+ -| networking-hyperv_ | ml2 | -+-------------------------------+-----------------------+ -| networking-ibm_ | ml2,l3 | -+-------------------------------+-----------------------+ -| networking-l2gw_ | l2 | -+-------------------------------+-----------------------+ -| networking-metaplugin_ | core | -+-------------------------------+-----------------------+ -| networking-midonet_ | core,lb | -+-------------------------------+-----------------------+ -| networking-mlnx_ | ml2 | -+-------------------------------+-----------------------+ -| networking-nec_ | core | -+-------------------------------+-----------------------+ -| nuage-openstack-neutron_ | core | -+-------------------------------+-----------------------+ -| networking-odl_ | ml2,l3,lb,fw | -+-------------------------------+-----------------------+ -| networking-ofagent_ | ml2 | -+-------------------------------+-----------------------+ -| networking-ovn_ | ml2 | -+-------------------------------+-----------------------+ -| networking-ovs-dpdk_ | ml2 | -+-------------------------------+-----------------------+ -| networking-plumgrid_ | core | -+-------------------------------+-----------------------+ -| networking-portforwarding_ | l3 | -+-------------------------------+-----------------------+ -| neutron-powervm_ | ml2 | -+-------------------------------+-----------------------+ -| networking-vsphere_ | ml2 | -+-------------------------------+-----------------------+ -| vmware-nsx_ | core | -+-------------------------------+-----------------------+ - -Functionality legend --------------------- - -- l2: a Layer 2 service; -- ml2: an ML2 mechanism driver; -- core: a monolithic plugin that can implement API at multiple layers L3-L7; -- l3: a Layer 3 service plugin; -- fw: a Firewall service plugin; -- vpn: a VPN service plugin; -- lb: a Load Balancer service plugin; -- intent: a service plugin that provides a declarative API to realize networking; - -.. _networking-arista: - -Arista ------- - -* Git: https://github.com/stackforge/networking-arista -* Launchpad: https://launchpad.net/networking-arista -* Pypi: https://pypi.python.org/pypi/networking-arista - -.. _networking-bagpipe-l2: - -BaGPipe -------- - -* Git: https://github.com/stackforge/networking-bagpipe-l2 -* Launchpad: https://launchpad.net/bagpipe-l2 -* Pypi: https://pypi.python.org/pypi/bagpipe-l2 - -.. _networking-bgpvpn: - -BGPVPN -------- - -* Git: https://github.com/stackforge/networking-bgpvpn - -.. _networking-bigswitch: - -Big Switch Networks -------------------- - -* Git: https://git.openstack.org/stackforge/networking-bigswitch -* Pypi: https://pypi.python.org/pypi/bsnstacklib - -.. _networking-brocade: - -Brocade -------- - -* Git: https://github.com/stackforge/networking-brocade -* Launchpad: https://launchpad.net/networking-brocade -* PyPI: https://pypi.python.org/pypi/networking-brocade - .. _networking-cisco: Cisco @@ -527,169 +413,3 @@ Cisco * Git: https://git.openstack.org/stackforge/networking-cisco * Launchpad: https://launchpad.net/networking-cisco * PyPI: https://pypi.python.org/pypi/networking-cisco - -DragonFlow ----------- - -* Git: https://github.com/stackforge/dragonflow -* Launchpad: https://launchpad.net/dragonflow -* PyPi: https://pypi.python.org/pypi/DragonFlow - -.. _networking-edge-vpn: - -Edge VPN --------- - -* Git: https://git.openstack.org/stackforge/networking-edge-vpn -* Launchpad: https://launchpad.net/edge-vpn - -.. _networking-hyperv: - -Hyper-V -------- - -* Git: https://github.com/stackforge/networking-hyperv -* Launchpad: https://launchpad.net/networking-hyperv -* PyPi: https://pypi.python.org/pypi/networking-hyperv - -.. _group-based-policy: - -Group Based Policy ------------------- - -* Git: https://github.com/stackforge/group-based-policy -* Launchpad: https://launchpad.net/group-based-policy -* PyPi: https://pypi.python.org/pypi/group-based-policy - -.. _networking-ibm: - -IBM SDNVE ---------- - -* Git: https://github.com/stackforge/networking-ibm -* Launchpad: https://launchpad.net/networking-ibm - -.. _networking-l2gw: - -L2 Gateway ----------- - -* Git: https://github.com/stackforge/networking-l2gw -* Launchpad: https://launchpad.net/networking-l2gw - -.. _networking-metaplugin: - -Metaplugin ----------- - -* Git: https://github.com/ntt-sic/networking-metaplugin - -.. _networking-midonet: - -MidoNet -------- - -* Git: https://github.com/stackforge/networking-midonet -* Launchpad: https://launchpad.net/networking-midonet -* PyPI: https://pypi.python.org/pypi/networking-midonet - -.. _networking-mlnx: - -Mellanox --------- - -* Git: https://github.com/stackforge/networking-mlnx -* Launchpad: https://launchpad.net/networking-mlnx - -.. _networking-nec: - -NEC ---- - -* Git: https://github.com/stackforge/networking-nec -* Launchpad: https://launchpad.net/networking-nec -* PyPI: https://pypi.python.org/pypi/networking-nec - -.. _nuage-openstack-neutron: - -Nuage ------ - -* Git: https://github.com/nuage-networks/nuage-openstack-neutron - -.. _networking-odl: - -OpenDayLight ------------- - -* Git: https://github.com/stackforge/networking-odl -* Launchpad: https://launchpad.net/networking-odl - -.. _networking-ofagent: - -OpenFlow Agent (ofagent) ------------------------- - -* Git: https://github.com/stackforge/networking-ofagent -* Launchpad: https://launchpad.net/networking-ofagent -* PyPI: https://pypi.python.org/pypi/networking-ofagent - -.. _networking-ovn: - -Open Virtual Network --------------------- - -* Git: https://github.com/stackforge/networking-ovn -* Launchpad: https://launchpad.net/networking-ovn -* PyPI: https://pypi.python.org/pypi/networking-ovn - -.. _networking-ovs-dpdk: - -Open DPDK ---------- - -* Git: https://github.com/stackforge/networking-ovs-dpdk -* Launchpad: https://launchpad.net/networking-ovs-dpdk - -.. _networking-plumgrid: - -PLUMgrid --------- - -* Git: https://github.com/stackforge/networking-plumgrid -* Launchpad: https://launchpad.net/networking-plumgrid -* PyPI: https://pypi.python.org/pypi/networking-plumgrid - -.. _neutron-powervm: - -PowerVM -------- - -* Git: https://github.com/stackforge/neutron-powervm -* Launchpad: https://launchpad.net/neutron-powervm -* PyPI: https://pypi.python.org/pypi/neutron-powervm - -.. _networking-portforwarding: - -PortForwarding --------------- - -* Git: https://github.com/stackforge/networking-portforwarding -* Launchpad: https://launchpad.net/networking-portforwarding - -.. _networking-vsphere: - -vSphere -------- - -* Git: https://github.com/stackforge/networking-vsphere -* Launchpad: https://launchpad.net/networking-vsphere - -.. _vmware-nsx: - -VMware ------- - -* Git: https://github.com/stackforge/vmware-nsx -* Launchpad: https://launchpad.net/vmware-nsx -* PyPI: https://pypi.python.org/pypi/vmware-nsx diff --git a/doc/source/devref/index.rst b/doc/source/devref/index.rst index 9b25830bf24..352d606a1f1 100644 --- a/doc/source/devref/index.rst +++ b/doc/source/devref/index.rst @@ -31,6 +31,7 @@ Programming HowTos and Tutorials development.environment contribute + sub_projects Neutron Internals diff --git a/doc/source/devref/sub_projects.rst b/doc/source/devref/sub_projects.rst new file mode 100644 index 00000000000..0e2da2b806f --- /dev/null +++ b/doc/source/devref/sub_projects.rst @@ -0,0 +1,360 @@ +Official Sub-Projects +===================== + +Neutron has a set of official sub-projects. These projects are recognized as a +part of the overall Neutron project. + +Inclusion Process +----------------- + +The process for proposing the move of a repo into openstack/ and under +the Neutron project is to propose a patch to the openstack/governance +repository. For example, to propose moving networking-foo, one +would add the following entry under Neutron in reference/projects.yaml:: + + - repo: openstack/networking-foo + tags: + - name: release:independent + +For more information about the release:independent tag (and other +currently defined tags) see: + + http://governance.openstack.org/reference/tags/ + +The Neutron PTL must approve the change. The TC clarified that once a +project has been approved (Neutron in this case), the project can add +additional repos without needing TC approval as long as the added +repositories are within the existing approved scope of the project. + + http://git.openstack.org/cgit/openstack/governance/commit/?id=321a020cbcaada01976478ea9f677ebb4df7bd6d + +Responsibilities +---------------- + +All affected repositories already have their own review teams. The +sub-team working on the sub-project is entirely responsible for +day-to-day development. That includes reviews, bug tracking, and +working on testing. + +By being included, the project accepts oversight by the TC as a part of +being in OpenStack, and also accepts oversight by the Neutron PTL. + +Inclusion Criteria +------------------ + +As mentioned before, the Neutron PTL must approve the inclusion of each +additional repository under the Neutron project. That evaluation will be +primarily based on the new project requirements used for all new OpenStack +projects for the criteria that is applicable: + + http://governance.openstack.org/reference/new-projects-requirements.html + +Official Sub-Project List +------------------------- + +The official source of all repositories that exist under the Neutron project is: + + http://governance.openstack.org/reference/projects/neutron.html + +The sub-projects are also listed here for convenience and as a place to provide +some additional metadata about them: + ++-------------------------------+-----------------------+ +| Name | Functionality | ++===============================+=======================+ +| | | ++-------------------------------+-----------------------+ + +Affiliated projects +=================== + +Affiliated projects are related to Neutron in some way, but are not official +sub-projects of Neutron. + +This table shows the unofficial affiliated projects that integrate with Neutron, +in one form or another. These projects typically leverage the pluggable +capabilities of Neutron, the Neutron API, or a combination of both. + ++-------------------------------+-----------------------+ +| Name | Functionality | ++===============================+=======================+ +| dragonflow_ | l3 | ++-------------------------------+-----------------------+ +| group-based-policy_ | intent | ++-------------------------------+-----------------------+ +| networking-arista_ | ml2,l3 | ++-------------------------------+-----------------------+ +| networking-bagpipe-l2_ | vpn | ++-------------------------------+-----------------------+ +| networking-bgpvpn_ | vpn | ++-------------------------------+-----------------------+ +| networking-bigswitch_ | ml2,core,l3 | ++-------------------------------+-----------------------+ +| networking-brocade_ | ml2,l3 | ++-------------------------------+-----------------------+ +| networking-edge-vpn_ | vpn | ++-------------------------------+-----------------------+ +| networking-hyperv_ | ml2 | ++-------------------------------+-----------------------+ +| networking-ibm_ | ml2,l3 | ++-------------------------------+-----------------------+ +| networking-l2gw_ | l2 | ++-------------------------------+-----------------------+ +| networking-metaplugin_ | core | ++-------------------------------+-----------------------+ +| networking-midonet_ | core,lb | ++-------------------------------+-----------------------+ +| networking-mlnx_ | ml2 | ++-------------------------------+-----------------------+ +| networking-nec_ | core | ++-------------------------------+-----------------------+ +| nuage-openstack-neutron_ | core | ++-------------------------------+-----------------------+ +| networking-odl_ | ml2,l3,lb,fw | ++-------------------------------+-----------------------+ +| networking-ofagent_ | ml2 | ++-------------------------------+-----------------------+ +| networking-ovn_ | ml2 | ++-------------------------------+-----------------------+ +| networking-ovs-dpdk_ | ml2 | ++-------------------------------+-----------------------+ +| networking-plumgrid_ | core | ++-------------------------------+-----------------------+ +| networking-portforwarding_ | l3 | ++-------------------------------+-----------------------+ +| neutron-powervm_ | ml2 | ++-------------------------------+-----------------------+ +| networking-vsphere_ | ml2 | ++-------------------------------+-----------------------+ +| vmware-nsx_ | core | ++-------------------------------+-----------------------+ +| octavia_ | lb | ++-------------------------------+-----------------------+ + +Functionality legend +-------------------- + +- l2: a Layer 2 service; +- ml2: an ML2 mechanism driver; +- core: a monolithic plugin that can implement API at multiple layers L3-L7; +- l3: a Layer 3 service plugin; +- fw: a Firewall service plugin; +- vpn: a VPN service plugin; +- lb: a Load Balancer service plugin; +- intent: a service plugin that provides a declarative API to realize networking; + +.. _networking-arista: + +Arista +------ + +* Git: https://github.com/stackforge/networking-arista +* Launchpad: https://launchpad.net/networking-arista +* Pypi: https://pypi.python.org/pypi/networking-arista + +.. _networking-bagpipe-l2: + +BaGPipe +------- + +* Git: https://github.com/stackforge/networking-bagpipe-l2 +* Launchpad: https://launchpad.net/bagpipe-l2 +* Pypi: https://pypi.python.org/pypi/bagpipe-l2 + +.. _networking-bgpvpn: + +BGPVPN +------- + +* Git: https://github.com/stackforge/networking-bgpvpn + +.. _networking-bigswitch: + +Big Switch Networks +------------------- + +* Git: https://git.openstack.org/stackforge/networking-bigswitch +* Pypi: https://pypi.python.org/pypi/bsnstacklib + +.. _networking-brocade: + +Brocade +------- + +* Git: https://github.com/stackforge/networking-brocade +* Launchpad: https://launchpad.net/networking-brocade +* PyPI: https://pypi.python.org/pypi/networking-brocade + +DragonFlow +---------- + +* Git: https://github.com/stackforge/dragonflow +* Launchpad: https://launchpad.net/dragonflow +* PyPi: https://pypi.python.org/pypi/DragonFlow + +.. _networking-edge-vpn: + +Edge VPN +-------- + +* Git: https://git.openstack.org/stackforge/networking-edge-vpn +* Launchpad: https://launchpad.net/edge-vpn + +.. _networking-hyperv: + +Hyper-V +------- + +* Git: https://github.com/stackforge/networking-hyperv +* Launchpad: https://launchpad.net/networking-hyperv +* PyPi: https://pypi.python.org/pypi/networking-hyperv + +.. _group-based-policy: + +Group Based Policy +------------------ + +* Git: https://github.com/stackforge/group-based-policy +* Launchpad: https://launchpad.net/group-based-policy +* PyPi: https://pypi.python.org/pypi/group-based-policy + +.. _networking-ibm: + +IBM SDNVE +--------- + +* Git: https://github.com/stackforge/networking-ibm +* Launchpad: https://launchpad.net/networking-ibm + +.. _networking-l2gw: + +L2 Gateway +---------- + +* Git: https://github.com/stackforge/networking-l2gw +* Launchpad: https://launchpad.net/networking-l2gw + +.. _networking-metaplugin: + +Metaplugin +---------- + +* Git: https://github.com/ntt-sic/networking-metaplugin + +.. _networking-midonet: + +MidoNet +------- + +* Git: https://github.com/stackforge/networking-midonet +* Launchpad: https://launchpad.net/networking-midonet +* PyPI: https://pypi.python.org/pypi/networking-midonet + +.. _networking-mlnx: + +Mellanox +-------- + +* Git: https://github.com/stackforge/networking-mlnx +* Launchpad: https://launchpad.net/networking-mlnx + +.. _networking-nec: + +NEC +--- + +* Git: https://github.com/stackforge/networking-nec +* Launchpad: https://launchpad.net/networking-nec +* PyPI: https://pypi.python.org/pypi/networking-nec + +.. _nuage-openstack-neutron: + +Nuage +----- + +* Git: https://github.com/nuage-networks/nuage-openstack-neutron + +.. _networking-odl: + +OpenDayLight +------------ + +* Git: https://github.com/stackforge/networking-odl +* Launchpad: https://launchpad.net/networking-odl + +.. _networking-ofagent: + +OpenFlow Agent (ofagent) +------------------------ + +* Git: https://github.com/stackforge/networking-ofagent +* Launchpad: https://launchpad.net/networking-ofagent +* PyPI: https://pypi.python.org/pypi/networking-ofagent + +.. _networking-ovn: + +Open Virtual Network +-------------------- + +* Git: https://github.com/stackforge/networking-ovn +* Launchpad: https://launchpad.net/networking-ovn +* PyPI: https://pypi.python.org/pypi/networking-ovn + +.. _networking-ovs-dpdk: + +Open DPDK +--------- + +* Git: https://github.com/stackforge/networking-ovs-dpdk +* Launchpad: https://launchpad.net/networking-ovs-dpdk + +.. _networking-plumgrid: + +PLUMgrid +-------- + +* Git: https://github.com/stackforge/networking-plumgrid +* Launchpad: https://launchpad.net/networking-plumgrid +* PyPI: https://pypi.python.org/pypi/networking-plumgrid + +.. _neutron-powervm: + +PowerVM +------- + +* Git: https://github.com/stackforge/neutron-powervm +* Launchpad: https://launchpad.net/neutron-powervm +* PyPI: https://pypi.python.org/pypi/neutron-powervm + +.. _networking-portforwarding: + +PortForwarding +-------------- + +* Git: https://github.com/stackforge/networking-portforwarding +* Launchpad: https://launchpad.net/networking-portforwarding + +.. _networking-vsphere: + +vSphere +------- + +* Git: https://github.com/stackforge/networking-vsphere +* Launchpad: https://launchpad.net/networking-vsphere + +.. _vmware-nsx: + +VMware +------ + +* Git: https://github.com/stackforge/vmware-nsx +* Launchpad: https://launchpad.net/vmware-nsx +* PyPI: https://pypi.python.org/pypi/vmware-nsx + +.. _octavia: + +Octavia +------- + +* Git: https://github.com/stackforge/octavia +* Launchpad: https://launchpad.net/octavia diff --git a/doc/source/policies/bugs.rst b/doc/source/policies/bugs.rst index 6e2e1021035..d7d5f23d050 100644 --- a/doc/source/policies/bugs.rst +++ b/doc/source/policies/bugs.rst @@ -15,6 +15,14 @@ to both the PTL and the core reviewer team during each weekly Neutron meeting. The current Neutron bug czar is Eugene Nikanorov (IRC nick enikanorov). +Plugin and Driver Repositories +------------------------------ + +Many plugins and drivers have backend code that exists in another repository. +These repositories have their own launchpad projects for bugs. The teams +working on the code in these repos assume full responsibility for bug handling +in those projects. + Bug Triage Process ------------------ diff --git a/doc/source/policies/core-reviewers.rst b/doc/source/policies/core-reviewers.rst index fd858d3c1ab..58e67a76002 100644 --- a/doc/source/policies/core-reviewers.rst +++ b/doc/source/policies/core-reviewers.rst @@ -46,6 +46,19 @@ Neutron VPNaaS Core Reviewer Team Neutron VPNaaS core reviewers have merge rights to the following git repositories: * `openstack/neutron-vpnaas `_ +Neutron Core Reviewer Teams for Plugins and Drivers +--------------------------------------------------- +The plugin decomposition effort has led to having many drivers with code in +separate repositories with their own core reviewer teams. For each one of these +repositories in the following repository list, there is a core team associated +with it: +* `Neutron project team `_ + +These teams are also responsible for handling their own specs/RFEs/features if +they choose to use them. However, by choosing to be a part of the Neutron +project, they submit to oversight and veto by the Neutron PTL if any issues +arise. + Neutron Specs Core Reviewer Team -------------------------------- Neutron specs core reviewers have merge rights to the following git repositories: