From 36656ca31871dec7467d0523ae937d890e9b364b Mon Sep 17 00:00:00 2001 From: Slawek Kaplonski Date: Thu, 6 Feb 2020 22:12:21 +0100 Subject: [PATCH] [Community goal] Add contributor and PTL guide This patch also changes CONTRIBUTING.rst file in root directory of the repo to fit with new cookiecutter template proposed in the community goal description. Change-Id: I190afcff68c4a20f42aec34cb299bd862e7c7efd Story: #2007236 Task: #38540 --- CONTRIBUTING.rst | 19 +- doc/source/contributor/contributing.rst | 163 ++++++++++++++++++ doc/source/contributor/index.rst | 8 + .../contributor/policies/blueprints.rst | 2 + doc/source/contributor/policies/bugs.rst | 3 + .../contributor/policies/code-reviews.rst | 2 + .../contributor/policies/neutron-teams.rst | 6 + doc/source/contributor/stadium/index.rst | 2 + 8 files changed, 199 insertions(+), 6 deletions(-) create mode 100644 doc/source/contributor/contributing.rst diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index a37be5c7bff..7d536139b50 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -1,12 +1,19 @@ -If you would like to contribute to the development of OpenStack Networking, -you must follow the steps documented at: +The source repository for this project can be found at: - https://docs.openstack.org/neutron/latest/contributor/policies/blueprints.html + https://opendev.org/openstack/neutron -Pull requests submitted through GitHub will be ignored. +Pull requests submitted through GitHub are not monitored. -Bugs should be filed on Launchpad, not GitHub: +To start contributing to OpenStack, follow the steps in the contribution guide +to set up and use Gerrit: + + https://docs.openstack.org/contributors/code-and-documentation/quick-start.html + +Bugs should be filed on Launchpad: https://bugs.launchpad.net/neutron -Please: do not register blueprints, they will be marked *obsolete* and ignored. +For more specific information about contributing to this repository, see the +Neutron contributor guide: + + https://docs.openstack.org/neutron/latest/contributor/contributing.html diff --git a/doc/source/contributor/contributing.rst b/doc/source/contributor/contributing.rst new file mode 100644 index 00000000000..533d22b6fb6 --- /dev/null +++ b/doc/source/contributor/contributing.rst @@ -0,0 +1,163 @@ +============================ +So You Want to Contribute... +============================ + +For general information on contributing to OpenStack, please check out the +`contributor guide `_ to get started. +It covers all the basics that are common to all OpenStack projects: the accounts +you need, the basics of interacting with our Gerrit review system, how we +communicate as a community, etc. + +Below will cover the more project specific information you need to get started +with Neutron. + +Communication +~~~~~~~~~~~~~~ +.. This would be a good place to put the channel you chat in as a project; when/ + where your meeting is, the tags you prepend to your ML threads, etc. + +- IRC channel: #openstack-neutron +- Mailing list's prefix: [neutron] +- Team Meeting: + + This is general Neutron team meeting. The discussion in this meeting is about + all things related to the Neutron project, like community goals, progress with + blueprints, bugs, etc. There is also ``On Demand Agenda`` at the end of this + meeting, where anyone can add a topic to discuss with the Neutron team. + + - time: http://eavesdrop.openstack.org/#Neutron_Team_Meeting + - agenda: https://wiki.openstack.org/wiki/Network/Meetings + +- Drivers team meeting: + + This is the meeting where Neutron drivers discuss about new RFEs. + + - time: http://eavesdrop.openstack.org/#Neutron_drivers_Meeting + - agenda: https://wiki.openstack.org/wiki/Meetings/NeutronDrivers + +- Neutron CI team meeting: + + This is the meeting where upstream CI issues are discussed every week. If + You are interested in helping our CI to be green, that's good place to join + and help. + + - time: http://eavesdrop.openstack.org/#Neutron_CI_team + - agenda: https://etherpad.openstack.org/p/neutron-ci-meetings + +- Neutron QoS team meeting: + + This is the meeting of the Neutron Quality of Service subteam. + + - time: http://eavesdrop.openstack.org/#Neutron_QoS_Meeting + +- Neutron L3 team meeting: + + This is the meeting of the Neutron L3 subteam where all issues related to + IPAM, L3 agents, etc. are discussed. + + - time: http://eavesdrop.openstack.org/#Neutron_L3_Sub-team_Meeting + - agenda: https://etherpad.openstack.org/p/neutron-l3-subteam + + +Contacting the Core Team +~~~~~~~~~~~~~~~~~~~~~~~~~ +.. This section should list the core team, their irc nicks, emails, timezones etc. If + all this info is maintained elsewhere (i.e. a wiki), you can link to that instead of + enumerating everyone here. + +The list of current Neutron core reviewers is available on `gerrit +`_. +Overall structure of Neutron team is available in +:ref:`Neutron teams`. + +New Feature Planning +~~~~~~~~~~~~~~~~~~~~ +.. This section is for talking about the process to get a new feature in. Some + projects use blueprints, some want specs, some want both! Some projects + stick to a strict schedule when selecting what new features will be reviewed + for a release. + +Neutron team uses ``RFE (Request for Enhancements)`` to propose new features. +RFE should be submitted as a Launchpad bug first (see section +:ref:`reporting_a_bug`). The title of RFE bug should starts with ``[RFE]`` tag. +Such RFEs need to be discussed and approved by the :ref:`Neutron drivers +team`. In some cases an additional spec proposed to the `Neutron +specs `_ repo may be necessary. The +complete process is described in detail in :ref:`Blueprints +guide`. + +Task Tracking +~~~~~~~~~~~~~~ +.. This section is about where you track tasks- launchpad? storyboard? is there more + than one launchpad project? what's the name of the project group in storyboard? + +We track our tasks in `Launchpad `__. +If you're looking for some smaller, easier work item to pick up and get started +on, search for the `Low hanging fruit +`_ tag. +List of all official tags which Neutron team is using is available on +:ref:`bugs`. +Every week, one of our team members is the :ref:`bug +deputy` and at the end of the week such person usually +sends report about new bugs to the mailing list openstack-discuss@lists.openstack.org +or talks about it on our team meeting. This is also good place to look for some +work to do. + +.. _reporting_a_bug: + +Reporting a Bug +~~~~~~~~~~~~~~~ +.. Pretty self explanatory section, link directly to where people should report bugs for + your project. + +You found an issue and want to make sure we are aware of it? You can do so on +`Launchpad `__. +More info about Launchpad usage can be found on `OpenStack docs page +`_. + +Getting Your Patch Merged +~~~~~~~~~~~~~~~~~~~~~~~~~ +.. This section should have info about what it takes to get something merged. Do + you require one or two +2's before +W? Do some of your repos require unit test + changes with all patches? etc. + +All changes proposed to the Neutron or one of the Neutron stadium projects +require two +2 votes from Neutron core reviewers before one of the core +reviewers can approve patch by giving ``Workflow +1`` vote. More detailed +guidelines for reviewers of Neutron patches are available at +:ref:`Code reviews guide`. + + +Project Team Lead Duties +~~~~~~~~~~~~~~~~~~~~~~~~ +.. this section is where you can put PTL specific duties not already listed in + the common PTL guide (linked below) or if you already have them written + up elsewhere, you can link to that doc here. + +Neutron's PTL duties are described very well in the All common +`PTL duties guide `_. +Additionally to what is described in this guide, Neutron's PTL duties are: + +- triage new RFEs and prepare `Neutron drivers team meeting + `_, + +- maintain list of the :ref:`stadium projects` health - if each + project has gotten active team members and if it is following community and + Neutron's guidelines and goals, + +- maintain list of the :ref:`stadium projects + lieutenants` - check if those people are still active + in the projects, if their contact data are correct, maybe there is someone + new who is active in the stadium project and could be added to this list. + +Over the past few years, the Neutron team has followed a mentoring approach for: + +- new contributors, +- potential new core reviewers, +- future PTLs. + +The Neutron PTL's responsibility is to identify potential new core reviewers +and help with their mentoring process. +Mentoring of new contributors and potential core reviewers can be of course +delegated to the other members of the Neutron team. +Mentoring of future PTLs is responibility of the Neutron PTL. diff --git a/doc/source/contributor/index.rst b/doc/source/contributor/index.rst index cefb188ff8a..7a55ef38b93 100644 --- a/doc/source/contributor/index.rst +++ b/doc/source/contributor/index.rst @@ -31,6 +31,14 @@ This document describes Neutron for contributors of the project, and assumes that you are already familiar with Neutron from an :doc:`end-user perspective `. +Basic Information +----------------- + +.. toctree:: + :maxdepth: 2 + + contributing + Neutron Policies ---------------- diff --git a/doc/source/contributor/policies/blueprints.rst b/doc/source/contributor/policies/blueprints.rst index 2c99ff7b4ec..71868b3ff60 100644 --- a/doc/source/contributor/policies/blueprints.rst +++ b/doc/source/contributor/policies/blueprints.rst @@ -1,3 +1,5 @@ +.. _neutron_blueprints: + Blueprints and Specs ==================== diff --git a/doc/source/contributor/policies/bugs.rst b/doc/source/contributor/policies/bugs.rst index 06439484b2b..c6db8fde3bb 100644 --- a/doc/source/contributor/policies/bugs.rst +++ b/doc/source/contributor/policies/bugs.rst @@ -1,3 +1,5 @@ +.. _neutron_bugs: + Neutron Bugs ============ @@ -31,6 +33,7 @@ management. Permissions will have to be granted assuming that people sign up on the deputy role. The permission won't be given freely, a person must show some degree of prior involvement. +.. _neutron_bug_deputy: Neutron Bug Deputy ------------------ diff --git a/doc/source/contributor/policies/code-reviews.rst b/doc/source/contributor/policies/code-reviews.rst index 0ce48f03c5a..c470131328e 100644 --- a/doc/source/contributor/policies/code-reviews.rst +++ b/doc/source/contributor/policies/code-reviews.rst @@ -1,3 +1,5 @@ +.. _code_review: + Neutron Code Reviews ==================== diff --git a/doc/source/contributor/policies/neutron-teams.rst b/doc/source/contributor/policies/neutron-teams.rst index 170aaa0ca5e..6253ca8e66d 100644 --- a/doc/source/contributor/policies/neutron-teams.rst +++ b/doc/source/contributor/policies/neutron-teams.rst @@ -1,3 +1,5 @@ +.. _neutron_teams: + ====================== Neutron Team Structure ====================== @@ -105,6 +107,8 @@ Some notes on the above: new feature areas, and libification of certain pieces of code. * Infra means interactions with infra from a neutron perspective +.. _subproject_lieutenants: + Sub-project Lieutenants ~~~~~~~~~~~~~~~~~~~~~~~ @@ -220,6 +224,8 @@ code reviewers: Specs core reviewers may match core members of the above mentioned groups, but the group can be extended to other individuals, if required. +.. _drivers_team: + Drivers Team ------------ diff --git a/doc/source/contributor/stadium/index.rst b/doc/source/contributor/stadium/index.rst index 879511c6dbf..72580567767 100644 --- a/doc/source/contributor/stadium/index.rst +++ b/doc/source/contributor/stadium/index.rst @@ -1,3 +1,5 @@ +.. _neutron_stadium: + .. Copyright 2014 Hewlett-Packard Development Company, L.P.