Revisit the Stadium section of the developer guide
This patch updates this section to reflect what was agreed on and sealed in [1]. More iterations will happen as we learn how effectively the process works. [1] I689d765fe88ed244e2f6116d0a7d7e4b4f03d08b Change-Id: I82c35a474a2eccdecafa446b825daa2b8992180f
This commit is contained in:
parent
58316f7a8c
commit
21235f02c1
290
doc/source/stadium/governance.rst
Normal file
290
doc/source/stadium/governance.rst
Normal file
@ -0,0 +1,290 @@
|
|||||||
|
..
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
not use this file except in compliance with the License. You may obtain
|
||||||
|
a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
License for the specific language governing permissions and limitations
|
||||||
|
under the License.
|
||||||
|
|
||||||
|
|
||||||
|
Convention for heading levels in Neutron devref:
|
||||||
|
======= Heading 0 (reserved for the title in a document)
|
||||||
|
------- Heading 1
|
||||||
|
~~~~~~~ Heading 2
|
||||||
|
+++++++ Heading 3
|
||||||
|
''''''' Heading 4
|
||||||
|
(Avoid deeper levels because they do not render well.)
|
||||||
|
|
||||||
|
|
||||||
|
Stadium Governance
|
||||||
|
==================
|
||||||
|
|
||||||
|
Background
|
||||||
|
----------
|
||||||
|
|
||||||
|
Neutron grew to become a big monolithic codebase, and its core team had a
|
||||||
|
tough time making progress on a number of fronts, like adding new
|
||||||
|
features, ensuring stability, etc. During the Kilo timeframe, a
|
||||||
|
decomposition effort started, where the codebase got disaggregated into
|
||||||
|
separate repos, like the `high level services <http://specs.openstack.org/openstack/neutron-specs/specs/kilo/services-split.html>`_,
|
||||||
|
and the various third-party solutions for `L2 and L3 services <http://specs.openstack.org/openstack/neutron-specs/specs/kilo/core-vendor-decomposition.html>`_,
|
||||||
|
and the Stadium was officially born.
|
||||||
|
|
||||||
|
These initiatives enabled the various individual teams in charge of the
|
||||||
|
smaller projects the opportunity to iterate faster and reduce the time to
|
||||||
|
feature. This has been due to the increased autonomy and implicit trust model
|
||||||
|
that made the lack of oversight of the PTL and the Neutron drivers/core team
|
||||||
|
acceptable for a small number of initiatives. When the proposed `arrangement <https://review.openstack.org/#/c/175952/>`_
|
||||||
|
allowed projects to be `automatically <http://git.openstack.org/cgit/openstack/governance/commit/?id=321a020cbcaada01976478ea9f677ebb4df7bd6d>`_
|
||||||
|
enlisted as a Neutron project based simply on description, and desire for
|
||||||
|
affiliation, the number of projects included in the Stadium started to grow
|
||||||
|
rapidly, which created a number of challenges for the PTL and the drivers
|
||||||
|
team.
|
||||||
|
|
||||||
|
In fact, it became harder and harder to ensure consistency in the APIs,
|
||||||
|
architecture, design, implementation and testing of the overarching project;
|
||||||
|
all aspects of software development, like documentation, integration, release
|
||||||
|
management, maintainance, and upgrades started to being neglected for some
|
||||||
|
projects and that led to some unhappy experiences.
|
||||||
|
|
||||||
|
The point about uniform APIs is particularly important, because the Neutron
|
||||||
|
platform is so flexible that a project can take a totally different turn in
|
||||||
|
the way it exposes functionality, that it is virtually impossible for the
|
||||||
|
PTL and the drivers team to ensure that good API design principles are being
|
||||||
|
followed over time. In a situation where each project is on its own, that
|
||||||
|
might be acceptable, but allowing independent API evolution while still under
|
||||||
|
the Neutron umbrella is counterproductive.
|
||||||
|
|
||||||
|
These challenges led the Neutron team to find a better balance between autonomy
|
||||||
|
and consistency and lay down criteria that more clearly identify when a project
|
||||||
|
can be eligible for inclusion in the `Neutron governance <http://governance.openstack.org/reference/projects/neutron.html>`_.
|
||||||
|
|
||||||
|
This document describes these criteria, and document the steps involved to
|
||||||
|
maintain the integrity of the Stadium, and how to ensure this integrity be
|
||||||
|
maintained over time when modifications to the governance are required.
|
||||||
|
|
||||||
|
When is a project considered part of the Stadium?
|
||||||
|
-------------------------------------------------
|
||||||
|
|
||||||
|
In order to be considered part of the Stadium, a project must show a track
|
||||||
|
record of alignment with the Neutron `core project <http://git.openstack.org/cgit/openstack/neutron>`_.
|
||||||
|
This means showing proof of adoption of practices as led by the Neutron core
|
||||||
|
team. Some of these practices are typically already followed by the most
|
||||||
|
mature OpenStack projects:
|
||||||
|
|
||||||
|
* Exhaustive documentation: it is expected that each project will have a
|
||||||
|
`developer <http://docs.openstack.org/developer/neutron/>`_,
|
||||||
|
`user/operator <http://docs.openstack.org/mitaka/networking-guide/>`_
|
||||||
|
and `API <http://developer.openstack.org/api-ref/networking/>`_
|
||||||
|
documentations available.
|
||||||
|
|
||||||
|
* Exhaustive OpenStack CI coverage: unit, functional, and tempest coverage
|
||||||
|
using OpenStack CI (upstream) resources so that `Grafana <http://grafana.openstack.org/dashboard/db/neutron-failure-rate>`_
|
||||||
|
and `OpenStack Health <http://status.openstack.org/openstack-health/#/>`_
|
||||||
|
support is available. Access to CI resources and historical data by the
|
||||||
|
team is key to ensuring stability and robustness of a project.
|
||||||
|
In particular, it is of paramount importance to ensure that DB models/migrations
|
||||||
|
are tested functionally to prevent data inconsistency issues or unexpected
|
||||||
|
DB logic errors due to schema/models mismatch. For more details, please
|
||||||
|
look at the following resources:
|
||||||
|
|
||||||
|
* https://review.openstack.org/#/c/346091/
|
||||||
|
* https://review.openstack.org/#/c/346272/
|
||||||
|
* https://review.openstack.org/#/c/346083/
|
||||||
|
|
||||||
|
More Database related information can be found on:
|
||||||
|
|
||||||
|
* http://docs.openstack.org/developer/neutron/devref/alembic_migrations.html
|
||||||
|
* http://docs.openstack.org/developer/neutron/devref/db_layer.html
|
||||||
|
|
||||||
|
Bear in mind that many projects have been transitioning their codebase and
|
||||||
|
tests to fully support Python 3+, and it is important that each Stadium
|
||||||
|
project supports Python 3+ the same way Neutron core does. For more
|
||||||
|
information on how to do testing, please refer to the
|
||||||
|
`Neutron testing documentation testing documentation <http://docs.openstack.org/developer/neutron/devref/development.environment.html#testing-neutron>`_.
|
||||||
|
|
||||||
|
* Good release footprint, according to the chosen `release model <http://governance.openstack.org/reference/tags/#release-management-tags>`_.
|
||||||
|
|
||||||
|
* Adherence to deprecation and `stable backports policies <http://governance.openstack.org/reference/tags/#stable-maintenance-tags>`_.
|
||||||
|
|
||||||
|
* Demonstrated ability to do `upgrades <http://governance.openstack.org/reference/tags/assert_supports-upgrade.html>`_
|
||||||
|
and/or `rolling upgrades <http://governance.openstack.org/reference/tags/assert_supports-rolling-upgrade.html>`_,
|
||||||
|
where applicable. This means having grenade support on top of the CI
|
||||||
|
coverage as described above.
|
||||||
|
|
||||||
|
* Client bindings and CLI developed according to the OpenStack Client `plugin model <http://docs.openstack.org/developer/python-openstackclient/plugins.html>`_.
|
||||||
|
|
||||||
|
On top of the above mentioned criteria, the following also are taken into
|
||||||
|
consideration:
|
||||||
|
|
||||||
|
* A project must use, adopt and implement open software and technologies.
|
||||||
|
|
||||||
|
* A project must integrate with Neutron via one of the supported, advertised
|
||||||
|
and maintained public Python APIs. REST API does not qualify (the project
|
||||||
|
python-neutronclient is an exception).
|
||||||
|
|
||||||
|
* It adopts neutron-lib (with related hacking rules applied), and has proof
|
||||||
|
of good decoupling from Neutron core internals.
|
||||||
|
|
||||||
|
* It provides an API that adopts API guidelines as set by the Neutron core
|
||||||
|
team, and that relies on an open implementation.
|
||||||
|
|
||||||
|
* It adopts modular interfaces to provide networking services: this means
|
||||||
|
that L2/7 services are provided in the form of ML2 mech drivers and
|
||||||
|
service plugins respectively. A service plugin can expose a driver
|
||||||
|
interface to support multiple backend technologies, and/or adopt the
|
||||||
|
flavor framework as necessary.
|
||||||
|
|
||||||
|
Adding or removing projects to the Stadium
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
When a project is to be considered part of the Stadium, proof of compliance to
|
||||||
|
the aforementioned practices will have to be demonstrated typically for at
|
||||||
|
least two OpenStack releases. Application for inclusion is to be considered
|
||||||
|
only within the first milestone of each OpenStack cycle, which is the time when
|
||||||
|
the PTL and Neutron team do release planning, and have the most time available
|
||||||
|
to discuss governance issues.
|
||||||
|
|
||||||
|
Projects part of the Neutron Stadium have typically the first milestone to get
|
||||||
|
their house in order, during which time reassessment happens; if removed, because
|
||||||
|
of substantial lack of meeting the criteria, a project cannot reapply within
|
||||||
|
the same release cycle it has been evicted.
|
||||||
|
|
||||||
|
The process for proposing a repo into openstack/ and under the Neutron
|
||||||
|
governance 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
|
||||||
|
|
||||||
|
Typically this is a patch that the PTL, in collaboration with the project's
|
||||||
|
point of contact, will shepherd through the review process. This step is
|
||||||
|
undertaken once it is clear that all criteria are met. The next section
|
||||||
|
provides an informal checklist that shows what steps a project needs to
|
||||||
|
go through in order to enable the PTL and the TC to vote positively on
|
||||||
|
the proposed inclusion.
|
||||||
|
|
||||||
|
Once a project is included, it abides by the Neutron `RFE submission process <http://docs.openstack.org/developer/neutron/policies/blueprints.html>`_,
|
||||||
|
where specifications to neutron-specs are required for major API as well
|
||||||
|
as major architectural changes that may require core Neutron platform
|
||||||
|
enhancements.
|
||||||
|
|
||||||
|
Checklist
|
||||||
|
---------
|
||||||
|
|
||||||
|
* How to integrate documentation into docs.o.o: The documentation
|
||||||
|
website has a section for `project developer documentation <http://docs.openstack.org/developer/openstack-projects.html>`_.
|
||||||
|
Each project in the Neutron Stadium must have an entry under the
|
||||||
|
'Networking Sub Projects' section that points to the developer
|
||||||
|
documentation for the project, available at http://docs.openstack.org/developer/<your-project>/.
|
||||||
|
This is a two step process that involves the following:
|
||||||
|
|
||||||
|
* Build the artefacts: this can be done by following example
|
||||||
|
https://review.openstack.org/#/c/293399/.
|
||||||
|
* Publish the artefacts: this can be done by following example
|
||||||
|
https://review.openstack.org/#/c/216448/.
|
||||||
|
|
||||||
|
More information can also be found on the
|
||||||
|
`project creator guide <http://docs.openstack.org/infra/manual/creators.html#add-link-to-your-developer-documentation>`_.
|
||||||
|
|
||||||
|
* How to integrate into Grafana: Grafana is a great tool that provides
|
||||||
|
the ability to display historical series, like failure rates of
|
||||||
|
OpenStack CI jobs. A few examples that added dashboards over time are:
|
||||||
|
|
||||||
|
* `Neutron <https://review.openstack.org/#/c/278832/>`_.
|
||||||
|
* `Networking-OVN <https://review.openstack.org/#/c/335791>`_.
|
||||||
|
* `Networking-Midonet <https://review.openstack.org/#/c/315033>`_.
|
||||||
|
|
||||||
|
Any subproject must have a Grafana dashboard that shows failure
|
||||||
|
rates for at least Gate and Check queues.
|
||||||
|
|
||||||
|
* How to integrate into neutron-lib's CI: there are a number of steps
|
||||||
|
required to integrate with neutron-lib CI and adopt neutron-lib in
|
||||||
|
general. One step is to validate that neutron-lib master is working
|
||||||
|
with the master of a given project that uses neutron-lib. For example
|
||||||
|
`patch <https://review.openstack.org/#/c/338603/>`_ introduced such
|
||||||
|
support for the Neutron project. Any subproject that wants to do the
|
||||||
|
same would need to adopt the following few lines:
|
||||||
|
|
||||||
|
#. https://review.openstack.org/#/c/338603/4/jenkins/jobs/projects.yaml@4685
|
||||||
|
#. https://review.openstack.org/#/c/338603/3/zuul/layout.yaml@8501
|
||||||
|
#. https://review.openstack.org/#/c/338603/4/grafana/neutron.yaml@39
|
||||||
|
|
||||||
|
Line 1 and 2 respectively add a job to the periodic queue for the
|
||||||
|
project, whereas line 3 introduced the failure rate trend for the
|
||||||
|
periodic job to spot failure spikes etc. Make sure your project has
|
||||||
|
the following:
|
||||||
|
|
||||||
|
#. https://review.openstack.org/#/c/357086/
|
||||||
|
#. https://review.openstack.org/#/c/359143/
|
||||||
|
|
||||||
|
* How to port api-ref over to neutron-lib: to publish the subproject
|
||||||
|
API reference into the `Networking API guide <http://developer.openstack.org/api-ref/networking/>`_
|
||||||
|
you must contribute the API documentation into neutron-lib's api-ref
|
||||||
|
directory as done in the `WADL/REST transition patch <https://review.openstack.org/#/c/327510/>`_.
|
||||||
|
Once this is done successfully, a link to the subproject API will
|
||||||
|
show under the published `table of content <https://github.com/openstack/neutron-lib/blob/master/api-ref/source/index.rst>`_.
|
||||||
|
An RFE bug tracking this effort effectively initiates the request
|
||||||
|
for Stadium inclusion, where all the aspects as outlined in this
|
||||||
|
documented are reviewed by the PTL.
|
||||||
|
|
||||||
|
* How to port API definitions over the neutron-lib: the most basic
|
||||||
|
steps to port API definitions over to neutron-lib are demonstrated
|
||||||
|
in the following patches:
|
||||||
|
|
||||||
|
* https://review.openstack.org/#/c/353131/
|
||||||
|
* https://review.openstack.org/#/c/353132/
|
||||||
|
|
||||||
|
The `neutron-lib patch <https://review.openstack.org/#/c/353131/>`_
|
||||||
|
introduces the elements that define the API, and testing coverage
|
||||||
|
validates that the resource and actions maps use valid keywords.
|
||||||
|
API reference documention is provided alongside the definition to
|
||||||
|
keep everything in one place.
|
||||||
|
The `neutron patch <https://review.openstack.org/#/c/353132/>`_
|
||||||
|
uses the Neutron extension framework to plug the API definition
|
||||||
|
on top of the Neutron API backbone. The change can only merge when
|
||||||
|
there is a released version of neutron-lib.
|
||||||
|
|
||||||
|
* How to integrate into the openstack release: every project in the
|
||||||
|
Stadium must have release notes. In order to set up release notes,
|
||||||
|
please see the patches below for an example on how to set up reno:
|
||||||
|
|
||||||
|
* https://review.openstack.org/#/c/320904/
|
||||||
|
* https://review.openstack.org/#/c/243085/
|
||||||
|
|
||||||
|
For release documentation related to Neutron, please check the
|
||||||
|
`Neutron policies document <http://docs.openstack.org/developer/neutron/#neutron-policies>`_.
|
||||||
|
Once, everything is set up and your project is released, make sure
|
||||||
|
you see an entry on the release page (e.g. `Newton <http://releases.openstack.org/newton/index.html#other-projects>`_.
|
||||||
|
Make sure you release according to the project declared release
|
||||||
|
`model <http://governance.openstack.org/reference/projects/neutron.html#deliverables-and-tags>`_.
|
||||||
|
|
||||||
|
* How to port OpenStack Client over to python-neutronclient: client
|
||||||
|
API bindings and client command line interface support must be
|
||||||
|
developed in python-neutronclient under `osc module <https://github.com/openstack/python-neutronclient/tree/master/neutronclient/osc/v2>`_.
|
||||||
|
If your project requires one or both, consider looking at the
|
||||||
|
following example on how to contribute these two python-neutronclient
|
||||||
|
according to the OSC framework and guidelines:
|
||||||
|
|
||||||
|
* https://review.openstack.org/#/c/340624/
|
||||||
|
* https://review.openstack.org/#/c/340763/
|
||||||
|
* https://review.openstack.org/#/c/352653/
|
||||||
|
|
||||||
|
More information on how to develop python-openstackclient plugins
|
||||||
|
can be found on the following links:
|
||||||
|
|
||||||
|
* http://docs.openstack.org/developer/python-openstackclient/plugins.html
|
||||||
|
* http://docs.openstack.org/developer/python-openstackclient/humaninterfaceguide.html
|
||||||
|
|
||||||
|
It is worth prefixing the commands being added with the keyword
|
||||||
|
`network <https://review.openstack.org/#/c/340624/10/setup.cfg>`_ to
|
||||||
|
avoid potential clash with other commands with similar names. This
|
||||||
|
is only required if the command object name is highly likely to have
|
||||||
|
an ambiguous meaning.
|
@ -16,11 +16,26 @@
|
|||||||
Neutron Stadium
|
Neutron Stadium
|
||||||
================
|
================
|
||||||
|
|
||||||
The Stadium Guide contains information on policies and procedures for the
|
This section contains information on policies and procedures for the so called
|
||||||
Neutron Stadium.
|
Neutron Stadium. The Neutron Stadium is the list of projects that show up in the
|
||||||
|
OpenStack `Governance Document <http://governance.openstack.org/reference/projects/neutron.html>`_.
|
||||||
|
|
||||||
|
The list includes projects that the Neutron PTL and core team are directly
|
||||||
|
involved in, and manage on a day to day basis. To do so, the PTL and team
|
||||||
|
ensure that common practices and guidelines are followed throughout the Stadium,
|
||||||
|
for all aspects that pertain software development, from inception, to coding,
|
||||||
|
testing, documentation and more.
|
||||||
|
|
||||||
|
The Stadium is not to be intended as a VIP club for OpenStack networking
|
||||||
|
projects, or an upper tier within OpenStack. It is simply the list of projects
|
||||||
|
the Neutron team and PTL claim responsibility for when producing Neutron
|
||||||
|
deliverables throughout the release `cycles <https://github.com/openstack/releases>`_.
|
||||||
|
|
||||||
|
For more details on the Stadium, and what it takes for a project to be
|
||||||
|
considered an integral part of the Stadium, please read on.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 3
|
:maxdepth: 3
|
||||||
|
|
||||||
sub_projects
|
governance
|
||||||
sub_project_guidelines
|
guidelines
|
||||||
|
@ -1,683 +0,0 @@
|
|||||||
..
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
||||||
not use this file except in compliance with the License. You may obtain
|
|
||||||
a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
||||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
||||||
License for the specific language governing permissions and limitations
|
|
||||||
under the License.
|
|
||||||
|
|
||||||
|
|
||||||
Convention for heading levels in Neutron devref:
|
|
||||||
======= Heading 0 (reserved for the title in a document)
|
|
||||||
------- Heading 1
|
|
||||||
~~~~~~~ Heading 2
|
|
||||||
+++++++ Heading 3
|
|
||||||
''''''' Heading 4
|
|
||||||
(Avoid deeper levels because they do not render well.)
|
|
||||||
|
|
||||||
|
|
||||||
Neutron Stadium
|
|
||||||
===============
|
|
||||||
|
|
||||||
Introduction
|
|
||||||
------------
|
|
||||||
|
|
||||||
Neutron has grown to be a complex project made of many moving parts. The
|
|
||||||
codebase is the aggregation of smaller projects that, once assembled in a
|
|
||||||
specific configuration, implement one of the many deployment architectures
|
|
||||||
to deliver networking services.
|
|
||||||
|
|
||||||
This document explains the inclusion process, and the criteria chosen to
|
|
||||||
select a project for inclusion. It also outlines the lists of projects
|
|
||||||
that are either managed by the `Neutron teams <http://docs.openstack.org/developer/neutron/policies/neutron-teams.html#neutron-teams>`_,
|
|
||||||
or that are affiliated to Neutron via an integration point made available
|
|
||||||
by the core pluggable framework.
|
|
||||||
|
|
||||||
Demystifying the mission
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
The Neutron `mission <http://governance.openstack.org/reference/projects/neutron.html#mission>`_
|
|
||||||
states that Neutron is all about delivering network services and libraries.
|
|
||||||
Although this has been true for the existence of the project, the project
|
|
||||||
itself has evolved over the years to meet the demands of a growing community
|
|
||||||
of users and developers who have an interest in adopting, building new and
|
|
||||||
leveraging existing network functionality. To continue to stay true to
|
|
||||||
its mission, and yet reduce the management burden, the project transformed
|
|
||||||
itself into a pluggable framework, and a community where interested parties
|
|
||||||
come together to discuss and define APIs and respective implementations that
|
|
||||||
ultimately are delivered on top of the aforementioned pluggable framework.
|
|
||||||
Some of these APIs and implementations are considered to be a part of the
|
|
||||||
Neutron project. For the ones that are not, there is no connotation of
|
|
||||||
_poor_ quality associated with them. Their association, or lack thereof, is
|
|
||||||
simply a reflection of the fact that a good portion of Neutron team feels
|
|
||||||
favorable towards developing, and supporting the project in the wider
|
|
||||||
OpenStack ecosystem.
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
In order to create a project, in case it does not exist, follow steps
|
|
||||||
as explained in:
|
|
||||||
|
|
||||||
http://docs.openstack.org/infra/manual/creators.html
|
|
||||||
|
|
||||||
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 <sub_project_guidelines.html>`_.
|
|
||||||
|
|
||||||
Inclusion Criteria
|
|
||||||
------------------
|
|
||||||
|
|
||||||
As mentioned before, the Neutron PTL must approve the inclusion of each
|
|
||||||
additional repository under the Neutron project. When in doubt, the PTL
|
|
||||||
should consider erring on the side of caution, and keep the project out of
|
|
||||||
the list until more consensus amongst the team can be built or a more
|
|
||||||
favorable assessment can be determined.
|
|
||||||
That evaluation will be initially based on the new project requirements used
|
|
||||||
for all new OpenStack projects for the criteria that is applicable. If
|
|
||||||
there is any question about this, the review should be deferred to the TC
|
|
||||||
as a new OpenStack project team.
|
|
||||||
|
|
||||||
http://governance.openstack.org/reference/new-projects-requirements.html
|
|
||||||
|
|
||||||
Including *everything* related to Neutron under the Neutron project team has not
|
|
||||||
scaled well, so some Neutron related projects are encouraged to form a new
|
|
||||||
OpenStack project team. The following list of guidelines are not hard rules.
|
|
||||||
There may be exceptions. Instead, they serve as criteria that may influence the
|
|
||||||
decision one way or the other. Sub-projects will be reviewed regularly to see
|
|
||||||
how they meet these criteria.
|
|
||||||
|
|
||||||
These criteria are designed around how easy it would be for members of the
|
|
||||||
loosely defined "Neutron team" to jump in and help fix or even take over a given
|
|
||||||
repository if needed.
|
|
||||||
|
|
||||||
* Neutron stays quite busy developing and maintaining open source
|
|
||||||
implementations for features. Any sub-project that serves as an interface to
|
|
||||||
proprietary technology should most likely be a separate project team. This
|
|
||||||
imposes a barrier on access to the technology for dev/test and CI integration.
|
|
||||||
* If the project only interacts with Neutron on REST API boundaries (client of
|
|
||||||
Neutron's API, or Neutron is a client of its API), it should probably be a
|
|
||||||
separate project. python-neutronclient is an obvious exception here.
|
|
||||||
* The area of functionality of a sub-project should be taken into consideration.
|
|
||||||
The closer the functionality is to the base functionality implemented in
|
|
||||||
openstack/neutron, the more likely it makes sense under the Neutron project
|
|
||||||
team. Conversely, something "higher" in the stack considered an optional
|
|
||||||
advanced service is more likely to make sense as an independent project.
|
|
||||||
This is subject to change as the Neutron project evolves and continues to
|
|
||||||
explore the boundaries that work best for the project.
|
|
||||||
* OpenStack project teams are based around both technology and groups of people.
|
|
||||||
If a sub-project is directly driven by a subset of members of the Neutron team,
|
|
||||||
with the wider approval of the Neutron team, then it makes sense to retain it
|
|
||||||
under the Neutron project team. Conversely, a project that was developed
|
|
||||||
without oversight or engagement of any of the Neutron members cannot qualify.
|
|
||||||
For the sake of this criterion, a member of the team is a known (core or not)
|
|
||||||
contributor with a substantial track record of Neutron development.
|
|
||||||
|
|
||||||
|
|
||||||
Official Sub-Project List
|
|
||||||
-------------------------
|
|
||||||
|
|
||||||
The official source of all repositories that are a part of Neutron or another
|
|
||||||
official OpenStack project team is here:
|
|
||||||
|
|
||||||
http://governance.openstack.org/reference/projects/neutron.html
|
|
||||||
|
|
||||||
We list the Neutron repositories, as well as other Neutron affiliated projects
|
|
||||||
here to provide references and note the functionality they provide.
|
|
||||||
|
|
||||||
Functionality legend
|
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
- base: the base Neutron platform;
|
|
||||||
- bgp: BGP dynamic routing service plugin;
|
|
||||||
- client: API client implementation;
|
|
||||||
- core: a monolithic plugin that can implement API at multiple layers L3-L7;
|
|
||||||
- dashboard: Horizon dashboard integration;
|
|
||||||
- docker: a Docker network plugin that uses Neutron to provide networking services to Docker containers;
|
|
||||||
- fw: a Firewall service plugin;
|
|
||||||
- intent: a service plugin that provides a declarative API to realize networking;
|
|
||||||
- ipam: an IP address management driver;
|
|
||||||
- l2: a Layer 2 service;
|
|
||||||
- l3: a Layer 3 service plugin;
|
|
||||||
- lb: a Load Balancer service plugin;
|
|
||||||
- ml2: an ML2 mechanism driver;
|
|
||||||
- pd: prefix delegation;
|
|
||||||
- sfc: traffic steering based on traffic classification;
|
|
||||||
- vpn: a VPN service plugin;
|
|
||||||
|
|
||||||
Neutron projects
|
|
||||||
~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
This table shows the list of official Neutron repositories and their
|
|
||||||
functionality.
|
|
||||||
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| Name | Functionality |
|
|
||||||
+===============================+=======================+
|
|
||||||
| networking-bagpipe_ | ml2 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-bgpvpn_ | vpn |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-calico_ | ml2 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-l2gw_ | l2 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-midonet_ | core,ml2,l3,lb,fw |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-odl_ | ml2,l3,lb,fw |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-ofagent_ | ml2 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-onos_ | ml2,l3 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-ovn_ | ml2,l3 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-sfc_ | sfc |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| neutron_ | base,l2,ml2,core,l3 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| neutron-dynamic-routing_ | bgp |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| neutron-fwaas_ | fw |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| neutron-lbaas_ | lb,dashboard |
|
|
||||||
| neutron-lbaas-dashboard_ | |
|
|
||||||
| octavia_ | |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| neutron-lib_ | base |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| neutron-vpnaas_ | vpn |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| python-neutronclient_ | client |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| python-neutron-pd-driver_ | pd |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| Name | Functionality |
|
|
||||||
+===============================+=======================+
|
|
||||||
| dragonflow_ | core |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| kuryr_ | docker |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-ale-omniswitch_ | ml2 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-arista_ | ml2,l3 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-bigswitch_ | ml2,core,l3 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-brocade_ | ml2,l3 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-cisco_ | core,ml2,l3,fw,vpn |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-edge-vpn_ | vpn |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-fortinet_ | ml2,l3,fw |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-fujitsu_ | ml2 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-hyperv_ | ml2 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-infoblox_ | ipam |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-mlnx_ | ml2 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-nec_ | core |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-ovs-dpdk_ | ml2 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-plumgrid_ | core |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-powervm_ | ml2 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| networking-vsphere_ | ml2 |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| nuage-openstack-neutron_ | core |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
| vmware-nsx_ | core |
|
|
||||||
+-------------------------------+-----------------------+
|
|
||||||
|
|
||||||
Project Teams FAQ
|
|
||||||
~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
**Q: When talking about contributor overlap, what is a contributor?**
|
|
||||||
|
|
||||||
A Neutron contributor is someone who spends some portion of their time helping
|
|
||||||
with all of the things needed to run the Neutron project: bug triage, writing
|
|
||||||
and reviewing blueprints, writing and reviewing code, writing and reviewing
|
|
||||||
documentation, helping debug issues found by users or CI, and more.
|
|
||||||
|
|
||||||
**Q: Why choose contributor overlap over technical overlap?**
|
|
||||||
|
|
||||||
Technical overlap, or software qualities, are more difficult to pinpoint and
|
|
||||||
require a more extensive assessment from the PTL and the Neutron team, which
|
|
||||||
in turn has the danger of translating itself into a nearly full-time
|
|
||||||
policing/enforcement job. Wrongdoing will always be spotted, regardless of
|
|
||||||
whichever criteria is applied, and trusting known members of the team to do
|
|
||||||
the right thing should be an adequate safety net to preserve the sanity of
|
|
||||||
Neutron as a whole.
|
|
||||||
|
|
||||||
**Q: What does a sub-project gain as a part of the Neutron project team?**
|
|
||||||
|
|
||||||
A project under Neutron is no more an official part of OpenStack than another
|
|
||||||
OpenStack project team. Projects under Neutron share some resources. In
|
|
||||||
particular, they get managed backports, managed releases, managed CVEs, RFEs,
|
|
||||||
bugs, docs and everything that pertain the SDLC of the Neutron end-to-end
|
|
||||||
project.
|
|
||||||
|
|
||||||
**Q: Why is kuryr a separate project?**
|
|
||||||
|
|
||||||
Kuryr was started and incubated within the Neutron team. However, it interfaces
|
|
||||||
with Neutron as a client of the Neutron API, so it makes sense to stand as an
|
|
||||||
independent project.
|
|
||||||
|
|
||||||
**Q: Why are several "advanced service" projects still included under Neutron?**
|
|
||||||
|
|
||||||
neutron-lbaas, neutron-fwaas, and neutron-vpnaas are all included under the
|
|
||||||
Neutron project team largely for historical reasons. They were originally a
|
|
||||||
part of neutron itself and are still a part of the neutron deliverable in terms
|
|
||||||
of OpenStack governance. Because of the deliverable inclusion, they should really
|
|
||||||
only be considered for a move on a release boundary.
|
|
||||||
|
|
||||||
**Q: Why is Octavia included under Neutron?**
|
|
||||||
|
|
||||||
neutron-lbaas, neutron-lbaas-dashboard, and Octavia are all considered a unit.
|
|
||||||
If we split one, we need to split them together. We can't split these yet, as
|
|
||||||
they are a part of the official "neutron" deliverable. This needs to be done on
|
|
||||||
a release boundary when the lbaas team is ready to do so.
|
|
||||||
|
|
||||||
.. _networking-ale-omniswitch:
|
|
||||||
|
|
||||||
ALE Omniswitch
|
|
||||||
++++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-ale-omniswitch
|
|
||||||
* Launchpad: https://launchpad.net/networking-ale-omniswitch
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-ale-omniswitch
|
|
||||||
|
|
||||||
.. _networking-arista:
|
|
||||||
|
|
||||||
Arista
|
|
||||||
++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-arista
|
|
||||||
* Launchpad: https://launchpad.net/networking-arista
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-arista
|
|
||||||
|
|
||||||
.. _networking-bagpipe:
|
|
||||||
|
|
||||||
BaGPipe
|
|
||||||
+++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-bagpipe
|
|
||||||
* Launchpad: https://launchpad.net/networking-bagpipe
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-bagpipe
|
|
||||||
|
|
||||||
.. _networking-bgpvpn:
|
|
||||||
|
|
||||||
BGPVPN
|
|
||||||
++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-bgpvpn
|
|
||||||
* Launchpad: https://launchpad.net/bgpvpn
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-bgpvpn
|
|
||||||
|
|
||||||
.. _networking-bigswitch:
|
|
||||||
|
|
||||||
Big Switch Networks
|
|
||||||
+++++++++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-bigswitch
|
|
||||||
* Launchpad: https://launchpad.net/networking-bigswitch
|
|
||||||
* PyPI: https://pypi.python.org/pypi/bsnstacklib
|
|
||||||
|
|
||||||
.. _networking-brocade:
|
|
||||||
|
|
||||||
Brocade
|
|
||||||
+++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-brocade
|
|
||||||
* Launchpad: https://launchpad.net/networking-brocade
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-brocade
|
|
||||||
|
|
||||||
.. _networking-calico:
|
|
||||||
|
|
||||||
Calico
|
|
||||||
++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-calico
|
|
||||||
* Launchpad: https://launchpad.net/networking-calico
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-calico
|
|
||||||
|
|
||||||
.. _networking-cisco:
|
|
||||||
|
|
||||||
Cisco
|
|
||||||
+++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-cisco
|
|
||||||
* Launchpad: https://launchpad.net/networking-cisco
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-cisco
|
|
||||||
|
|
||||||
.. _dragonflow:
|
|
||||||
|
|
||||||
DragonFlow
|
|
||||||
++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/dragonflow
|
|
||||||
* Launchpad: https://launchpad.net/dragonflow
|
|
||||||
* PyPI: https://pypi.python.org/pypi/DragonFlow
|
|
||||||
|
|
||||||
.. _networking-edge-vpn:
|
|
||||||
|
|
||||||
Edge VPN
|
|
||||||
++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-edge-vpn
|
|
||||||
* Launchpad: https://launchpad.net/edge-vpn
|
|
||||||
|
|
||||||
.. _networking-fortinet:
|
|
||||||
|
|
||||||
Fortinet
|
|
||||||
++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-fortinet
|
|
||||||
* Launchpad: https://launchpad.net/networking-fortinet
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-fortinet
|
|
||||||
|
|
||||||
.. _networking-fujitsu:
|
|
||||||
|
|
||||||
FUJITSU
|
|
||||||
+++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-fujitsu
|
|
||||||
* Launchpad: https://launchpad.net/networking-fujitsu
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-fujitsu
|
|
||||||
|
|
||||||
.. _networking-hyperv:
|
|
||||||
|
|
||||||
Hyper-V
|
|
||||||
+++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-hyperv
|
|
||||||
* Launchpad: https://launchpad.net/networking-hyperv
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-hyperv
|
|
||||||
|
|
||||||
.. _networking-infoblox:
|
|
||||||
|
|
||||||
Infoblox
|
|
||||||
++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-infoblox
|
|
||||||
* Launchpad: https://launchpad.net/networking-infoblox
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-infoblox
|
|
||||||
|
|
||||||
.. _kuryr:
|
|
||||||
|
|
||||||
Kuryr
|
|
||||||
+++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/kuryr/
|
|
||||||
* Launchpad: https://launchpad.net/kuryr
|
|
||||||
* PyPI: https://pypi.python.org/pypi/kuryr/
|
|
||||||
|
|
||||||
.. _networking-l2gw:
|
|
||||||
|
|
||||||
L2 Gateway
|
|
||||||
++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-l2gw
|
|
||||||
* Launchpad: https://launchpad.net/networking-l2gw
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-l2gw
|
|
||||||
|
|
||||||
.. _networking-midonet:
|
|
||||||
|
|
||||||
MidoNet
|
|
||||||
+++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-midonet
|
|
||||||
* Launchpad: https://launchpad.net/networking-midonet
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-midonet
|
|
||||||
|
|
||||||
.. _networking-mlnx:
|
|
||||||
|
|
||||||
Mellanox
|
|
||||||
++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-mlnx
|
|
||||||
* Launchpad: https://launchpad.net/networking-mlnx
|
|
||||||
|
|
||||||
.. _networking-nec:
|
|
||||||
|
|
||||||
NEC
|
|
||||||
+++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-nec
|
|
||||||
* Launchpad: https://launchpad.net/networking-nec
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-nec
|
|
||||||
|
|
||||||
.. _neutron:
|
|
||||||
|
|
||||||
Neutron
|
|
||||||
+++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/neutron
|
|
||||||
* Launchpad: https://launchpad.net/neutron
|
|
||||||
|
|
||||||
.. _python-neutronclient:
|
|
||||||
|
|
||||||
Neutron Client
|
|
||||||
++++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/python-neutronclient
|
|
||||||
* Launchpad: https://launchpad.net/python-neutronclient
|
|
||||||
* PyPI: https://pypi.python.org/pypi/python-neutronclient
|
|
||||||
|
|
||||||
.. _neutron-dynamic-routing:
|
|
||||||
|
|
||||||
Neutron Dynamic Routing
|
|
||||||
+++++++++++++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/neutron-dynamic-routing
|
|
||||||
* Launchpad: https://launchpad.net/neutron
|
|
||||||
|
|
||||||
.. _neutron-fwaas:
|
|
||||||
|
|
||||||
Neutron FWaaS
|
|
||||||
+++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/neutron-fwaas
|
|
||||||
* Launchpad: https://launchpad.net/neutron
|
|
||||||
|
|
||||||
.. _neutron-lbaas:
|
|
||||||
|
|
||||||
Neutron LBaaS
|
|
||||||
+++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/neutron-lbaas
|
|
||||||
* Launchpad: https://launchpad.net/neutron
|
|
||||||
|
|
||||||
.. _neutron-lbaas-dashboard:
|
|
||||||
|
|
||||||
Neutron LBaaS Dashboard
|
|
||||||
+++++++++++++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/neutron-lbaas-dashboard
|
|
||||||
* Launchpad: https://launchpad.net/neutron
|
|
||||||
|
|
||||||
.. _neutron-lib:
|
|
||||||
|
|
||||||
Neutron Library
|
|
||||||
+++++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/neutron-lib
|
|
||||||
* Launchpad: https://launchpad.net/neutron
|
|
||||||
|
|
||||||
.. _python-neutron-pd-driver:
|
|
||||||
|
|
||||||
Neutron Prefix Delegation
|
|
||||||
+++++++++++++++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/python-neutron-pd-driver
|
|
||||||
* Launchpad: https://launchpad.net/python-neutron-pd-driver
|
|
||||||
* PyPI: https://pypi.python.org/pypi/python-neutron-pd-driver
|
|
||||||
|
|
||||||
.. _neutron-vpnaas:
|
|
||||||
|
|
||||||
Neutron VPNaaS
|
|
||||||
++++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/neutron-vpnaas
|
|
||||||
* Launchpad: https://launchpad.net/neutron
|
|
||||||
|
|
||||||
.. _nuage-openstack-neutron:
|
|
||||||
|
|
||||||
Nuage
|
|
||||||
+++++
|
|
||||||
|
|
||||||
* Git: https://github.com/nuagenetworks/nuage-openstack-neutron
|
|
||||||
|
|
||||||
.. _octavia:
|
|
||||||
|
|
||||||
Octavia
|
|
||||||
+++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/octavia
|
|
||||||
* Launchpad: https://launchpad.net/octavia
|
|
||||||
* PyPI: https://pypi.python.org/pypi/octavia
|
|
||||||
|
|
||||||
.. _networking-odl:
|
|
||||||
|
|
||||||
OpenDayLight
|
|
||||||
++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-odl
|
|
||||||
* Launchpad: https://launchpad.net/networking-odl
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-odl
|
|
||||||
|
|
||||||
.. _networking-ofagent:
|
|
||||||
|
|
||||||
OpenFlow Agent (ofagent)
|
|
||||||
++++++++++++++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-ofagent
|
|
||||||
* Launchpad: https://launchpad.net/networking-ofagent
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-ofagent
|
|
||||||
|
|
||||||
Note: The networking-ofagent project has been removed in the Newton cycle
|
|
||||||
and the only stable branch is maintained until its EOL.
|
|
||||||
|
|
||||||
.. _networking-onos:
|
|
||||||
|
|
||||||
Open Network Operating System (onos)
|
|
||||||
++++++++++++++++++++++++++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-onos
|
|
||||||
* Launchpad: https://launchpad.net/networking-onos
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-onos
|
|
||||||
|
|
||||||
.. _networking-ovn:
|
|
||||||
|
|
||||||
Open Virtual Network
|
|
||||||
++++++++++++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-ovn
|
|
||||||
* Launchpad: https://launchpad.net/networking-ovn
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-ovn
|
|
||||||
|
|
||||||
.. _networking-ovs-dpdk:
|
|
||||||
|
|
||||||
Open DPDK
|
|
||||||
+++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-ovs-dpdk
|
|
||||||
* Launchpad: https://launchpad.net/networking-ovs-dpdk
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-ovs-dpdk
|
|
||||||
|
|
||||||
.. _networking-plumgrid:
|
|
||||||
|
|
||||||
PLUMgrid
|
|
||||||
++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-plumgrid
|
|
||||||
* Launchpad: https://launchpad.net/networking-plumgrid
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-plumgrid
|
|
||||||
|
|
||||||
.. _networking-powervm:
|
|
||||||
|
|
||||||
PowerVM
|
|
||||||
+++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-powervm
|
|
||||||
* Launchpad: https://launchpad.net/networking-powervm
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-powervm
|
|
||||||
|
|
||||||
.. _networking-sfc:
|
|
||||||
|
|
||||||
SFC
|
|
||||||
+++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-sfc
|
|
||||||
* Launchpad: https://launchpad.net/networking-sfc
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-sfc
|
|
||||||
|
|
||||||
.. _networking-vsphere:
|
|
||||||
|
|
||||||
vSphere
|
|
||||||
+++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/networking-vsphere
|
|
||||||
* Launchpad: https://launchpad.net/networking-vsphere
|
|
||||||
* PyPI: https://pypi.python.org/pypi/networking-vsphere
|
|
||||||
|
|
||||||
.. _vmware-nsx:
|
|
||||||
|
|
||||||
VMware NSX
|
|
||||||
++++++++++
|
|
||||||
|
|
||||||
* Git: https://git.openstack.org/cgit/openstack/vmware-nsx
|
|
||||||
* Launchpad: https://launchpad.net/vmware-nsx
|
|
||||||
* PyPI: https://pypi.python.org/pypi/vmware-nsx
|
|
Loading…
Reference in New Issue
Block a user