[ussuri][goal] Update contributor documentation

This patch updates/adds the contributor documentation to follow
the guidelines of the Ussuri cycle community goal[1].

[1] https://governance.openstack.org/tc/goals/selected/ussuri/project-ptl-and-contrib-docs.html
Story: #2007236
Task: #38554

Change-Id: I6dada2b6d252a5f945ad9d90b49b79b691b9aa18
This commit is contained in:
Yasufumi Ogawa 2020-05-04 05:18:47 +00:00
parent aba4cf9c89
commit a906a14aaf
4 changed files with 147 additions and 128 deletions

View File

@ -1,70 +1,19 @@
============ The source repository for this project can be found at:
Contributing
============
The best way to join the community and get involved is to talk with others https://opendev.org/openstack/tacker
online or at a meetup and offer contributions. Here are some of the many
ways you can contribute to the Tacker project:
* Development and Code Reviews Pull requests submitted through GitHub are not monitored.
* Bug reporting/Bug fixes
* Wiki and Documentation
* Blueprints/Specifications
* Testing
* Deployment scripts
Before you start contributing take a look at the `Openstack Developers Guide`_. To start contributing to OpenStack, follow the steps in the contribution guide
to set up and use Gerrit:
.. _`Openstack Developers Guide`: https://docs.openstack.org/infra/manual/developers.html https://docs.openstack.org/contributors/code-and-documentation/quick-start.html
Freenode IRC (Chat) Bugs should be filed on Launchpad:
-------------------
You can find tacker guys in our publicly accessible channel on `freenode`_
``#tacker``. All conversations are logged and stored for your
convenience at `eavesdrop.openstack.org`_. For more information regarding
OpenStack IRC channels please visit the `OpenStack IRC Wiki`_.
.. _`freenode`: https://freenode.net https://bugs.launchpad.net/tacker
.. _`OpenStack IRC Wiki`: https://wiki.openstack.org/wiki/IRC
.. _`eavesdrop.openstack.org`: http://eavesdrop.openstack.org/irclogs/%23tacker/
Launchpad For more specific information about contributing to this repository, see the
--------- Tacker contributor guide:
Like other OpenStack related projects, we utilize Launchpad for our bug
and release tracking.
* `Tacker Launchpad Project`_ https://docs.openstack.org/tacker/latest/contributor/contributing.html
.. _`Tacker Launchpad Project`: https://launchpad.net/tacker
.. note::
Bugs should be filed on Launchpad, not Github.
Source Repository
-----------------
The official Tacker source code is available in following repositories:
* **Tacker server:** https://opendev.org/openstack/tacker
* **Tacker Python client:** https://opendev.org/openstack/python-tackerclient
* **Tacker Horizon UI:** https://opendev.org/openstack/tacker-horizon
The mirror repositories on Github:
* **Tacker server:** https://github.com/openstack/tacker
* **Tacker Python client:** https://github.com/openstack/python-tackerclient
* **Tacker Horizon UI:** https://github.com/openstack/tacker-horizon
Gerrit
------
Like other OpenStack related projects, we utilize the OpenStack Gerrit
review system for all code reviews. If you're unfamiliar with using
the OpenStack Gerrit review system, please review the `Gerrit Workflow`_
wiki documentation.
.. _`Gerrit Workflow`: https://docs.openstack.org/infra/manual/developers.html#development-workflow
.. note::
Pull requests submitted through GitHub will be ignored.

View File

@ -0,0 +1,135 @@
============================
So You Want to Contribute...
============================
For general information on contributing to OpenStack, please check out the
`contributor guide <https://docs.openstack.org/contributors/>`_ 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.
The official Tacker source code is available in following repositories:
* **Tacker server:** https://opendev.org/openstack/tacker
* **Tacker Python client:** https://opendev.org/openstack/python-tackerclient
* **Tacker Horizon UI:** https://opendev.org/openstack/tacker-horizon
Below will cover the more project specific information you need to get started
with Tacker.
Communication
~~~~~~~~~~~~~
* IRC channel ``#tacker`` at `Freenode`_
* Mailing list (prefix subjects with ``[tacker]`` for faster responses)
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss
All conversations are logged and stored for your
convenience at `eavesdrop.openstack.org`_. For more information regarding
OpenStack IRC channels please visit the `OpenStack IRC Wiki`_.
.. _`Freenode`: https://freenode.net
.. _`OpenStack IRC Wiki`: https://wiki.openstack.org/wiki/IRC
.. _`eavesdrop.openstack.org`: http://eavesdrop.openstack.org/irclogs/%23tacker/
Contacting the Core Team
~~~~~~~~~~~~~~~~~~~~~~~~
Please refer to the `Tacker Core Team
<https://review.opendev.org/#/admin/groups/378,members>`_ contacts.
New Feature Planning
~~~~~~~~~~~~~~~~~~~~
If you want to propose a new feature, Tacker features are tracked on
`Launchpad BP`_.
Enhancement to Tacker functionality can be done using one of the following
two development process options. The choice depends on the complexity of the
enhancement.
Request for Enhancement (RFE) Process
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The developer, or an operator, can write up the requested enhancement in
Tacker's `Launchpad Bugs`_.
* The requester needs to mark the bug with ``RFE`` tag.
* The bug will be in the initial "New" state.
* The requester and team will have a discussion on the enhancement in the
launchpad bug.
* Once the discussion is over a tacker-core team member will acknowledge the
validity of this feature enhancement by moving it to the "Confirmed" state.
* Developers submit patchsets to fix a bug using ``Closes-Bug`` with **bug-id**
in the commit message.
Note, if there are multiple patchsets ``Partial-Bug`` header should be used
instead of ``Closes-Bug``.
* Once all the patchsets are merged the bug will be moved to the "Completed"
state.
* Developer(s) are expected to add a devref describing the usage of the feature
and other related topics in "tacker/doc/source/contributor directory".
This process is recommended for smaller enhancements that can be described
easily and it is relatively easy to implement in a short period of time.
Blueprint and Tacker-Specs process
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The developer, or an operator, can write up the requested enhancement by
submitting a patchset to the `tacker-spec repository`_
* The patchset should follow the `spec template`_
* The requester should also create a corresponding `Launchpad BP`_
for the enhancement proposal
* The requester and the team will have a discussion on the tacker-spec
writeup using gerrit.
* The patchset will be merged into the tackers-specs repository if the
tacker-core team decides this is a valid feature enhancement. A patchset
may also be rejected with clear reasoning.
* Tacker core team will also mark the blueprint Definition field to Approved.
* Developer submits one or more patchsets to implement the enhancement. The
commit message should use "Implements: blueprint <blueprint-name>" using
the same name as the blueprint name.
* Once all the patchsets are merged the blueprint will be as "Implemented" by
the tacker core team.
* The developer is expected to add a devref describing the usage of the feature
and other related topics in "tacker/doc/source/contributor directory".
This process is recommended for medium to large enhancements that needs
significant code-changes (LOC), community discussions and debates.
.. _`Launchpad BP`: https://blueprints.launchpad.net/tacker
.. _`Launchpad Bugs`: https://bugs.launchpad.net/tacker
.. _`tacker-spec repository`: https://opendev.org/openstack/tacker-specs
.. _`spec template`: https://opendev.org/openstack/tacker-specs/src/branch/master/specs/template.rst
Task Tracking
~~~~~~~~~~~~~
We track our tasks in `Launchpad
<https://launchpad.net/tacker>`_.
If you're looking for some smaller, easier work item to pick up and get started
on, search for the ``low-hanging-fruit`` tag.
Reporting a Bug
~~~~~~~~~~~~~~~
You found an issue and want to make sure we are aware of it? You can do so on
`Report a bug
<https://bugs.launchpad.net/tacker/+filebug>`_ in Launchpad.
More info about Launchpad usage can be found on `OpenStack docs page
<https://docs.openstack.org/contributors/common/task-tracking.html#launchpad>`_.
Getting Your Patch Merged
~~~~~~~~~~~~~~~~~~~~~~~~~
All changes proposed to Tacker require two +2 votes from core reviewers
before one of the core reviewers can approve patch by giving
``Workflow +1`` vote.
PTL may require more than two +2 votes, depending on the complexity of the
proposal.
More detailed guidelines for reviewers of patches are available at
`Code Review
<https://docs.opendev.org/opendev/infra-manual/latest/developers.html#code-review>`_.
.. note::
Pull requests submitted through GitHub will be ignored.
Project Team Lead Duties
~~~~~~~~~~~~~~~~~~~~~~~~
All common PTL duties are enumerated in the `PTL guide
<https://docs.openstack.org/project-team-guide/ptl.html>`_.

View File

@ -1,65 +0,0 @@
Tacker Development Process
==========================
.. include:: ../../../CONTRIBUTING.rst
Enhancement to Tacker functionality can be done using one of the following
two development process options. The choice depends on the complexity of the
enhancement.
Request for Enhancement (RFE) Process
-------------------------------------
The developer, or an operator, can write up the requested enhancement in a
Tacker launchpad [#]_ bug.
* The requester need to mark the bug with "RFE" tag.
* The bug will be in the initial "New" state.
* The requester and team will have a discussion on the enhancement in the
launchpad bug.
* Once the discussion is over a tacker-core team member will acknowledge the
validity of this feature enhancement by moving it to the "Confirmed" state.
* Developers submit patchsets to implement the enhancement using the bug-id.
Note, if there are multiple patchsets Partial-Bug header should be used
instead of Closes-Bug in the commit message.
* Once all the patchsets are merged the bug will be moved to the "Completed"
state.
* Developer(s) are expected to add a devref describing the usage of the feature
and other related topics in tacker/doc/source/contributor directory.
This process is recommended for smaller enhancements that can be described
easily and it is relatively easy to implement in a short period of time.
Blueprint and Tacker-Specs process
----------------------------------
The developer, or an operator, can write up the requested enhancement by
submitting a patchset to the tacker-spec repository [#]_.
* The patchset should follow the template specified in [#]_
* The requester should also create a corresponding blueprint for the
enhancement proposal in launchpad [#]_
* The requester and the team will have a discussion on the tacker-spec
writeup using gerrit.
* The patchset will be merged into the tackers-specs repository if the
tacker-core team decides this is a valid feature enhancement. A patchset
may also be rejected with clear reasoning.
* Tacker core team will also mark the blueprint Definition field to Approved.
* Developer submits one or more patchsets to implement the enhancement. The
commit message should use "Implements: blueprint <blueprint-name>" using
the same name as the blueprint name.
* Once all the patchsets are merged the blueprint will be as "Implemented" by
the tacker core team.
* The developer is expected to add a devref describing the usage of the feature
and other related topics in tacker/doc/source/contributor directory.
This process is recommended for medium to large enhancements that needs
significant code-changes (LOC), community discussions and debates.
References
----------
.. [#] https://bugs.launchpad.net/tacker
.. [#] https://github.com/openstack/tacker-specs
.. [#] https://github.com/openstack/tacker-specs/blob/master/specs/template.rst
.. [#] https://blueprints.launchpad.net/tacker/

View File

@ -24,7 +24,7 @@ Developer Info
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
dev-process.rst contributing.rst
development.environment.rst development.environment.rst
api_layer.rst api_layer.rst
api_extensions.rst api_extensions.rst