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 a repo into openstack/ and under the Neutron project is to propose a patch to the openstack/governance repository. For example, to propose 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:

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.

In order to create a project, in case it does not exist, follow steps as explained in:

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.

It is also assumed the respective review teams will make sure their projects stay in line with current best practices.

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:

Official Sub-Project List

The official source of all repositories that exist under the Neutron project is:

Affiliated projects

This table shows the 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. This list may contain projects that are already listed in the governance repo but are summarized here to describe the functionality they provide.

Name Functionality
dragonflow l3
group-based-policy intent
kuryr docker
networking-ale-omniswitch ml2
networking-arista ml2,l3
networking-bagpipe-l2 ml2
networking-bgpvpn vpn
networking-bigswitch ml2,core,l3
networking-brocade ml2,l3
networking-calico ml2
networking-cisco core,ml2,l3,fw,vpn
networking-edge-vpn vpn
networking-fujitsu ml2
networking-hyperv ml2
networking-ibm ml2,l3
networking-l2gw l2
networking-midonet core,lb
networking-mlnx ml2
networking-nec core
nuage-openstack-neutron core
networking-odl ml2,l3,lb,fw
networking-ofagent ml2
networking-onos ml2
networking-ovn ml2
networking-ovs-dpdk ml2
networking-plumgrid core
networking-portforwarding l3
neutron-powervm ml2
networking-sfc service composition
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;
  • docker: a Docker network plugin that uses Neutron to provide networking services to Docker containers;