tacker/doc/source/policies/dev-process.rst

64 lines
2.8 KiB
ReStructuredText

Tacker Development Process
==========================
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 [1] 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.
* Developer will submit patchsets to implement the enhacement 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.
* The developer is expected to add a devref describing the usage of the feature
and other related topics in tacker/doc/source/devref 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 [2].
* The patchset should follow the template specified in [3]
* The requester should also create a corresponding blueprint for the
enhancement proposal in launchpad [4]
* 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/devref directory.
This process is recommended for medium to large enhancements that needs
significant code-changes (LOC), community discussions and debates.
References
==========
[1] https://bugs.launchpad.net/tacker
[2] https://github.com/openstack/tacker-specs
[3] https://github.com/openstack/tacker-specs/blob/master/specs/template.rst
[4] https://blueprints.launchpad.net/tacker/