Code reviews are a critical component of all OpenStack projects. Neutron accepts patches from many diverse people with diverse backgrounds, employers, and experience levels. Code reviews provide a way to enforce a level of consistency across the project, and also allow for the careful on boarding of contributions from new contributors.
Neutron Code Review Practices
Neutron follows the [code review guidelines as set forth for all OpenStack projects. It is expected that all reviewers are following the guidelines set forth in that page.
Neutron Spec Review Practices
In addition to code reviews, Neutron also maintains a BP specification git repository. Detailed instructions for the use of this repository are provided here. It is expected that Neutron core team members are actively reviewing specifications which are pushed out for review to the specification repository. Some guidelines around this process are provided below:
- Once a specification has been pushed, it is expected that it will not be approved for at least 3 days after a first core reviewer has reviewed it. This allows for additional cores to review the specification.
- For BPs which the core team deems of High or Critical importance, core reviewers may be assigned based on their subject matter expertise.
- Specification priority will be set by the PTL with review by the core team once the specification is approved.
Anyone can assign a reviewer for a code reviewer using gerrit. In addition, anyone can review any patch in gerrit. However, for items of critical or high priority, the Neutron core team will assign 2 core reviewers to these items. These items are deemed as critically important to the community in most cases, and assuring they have as much review coverage as they do development coverage makes sense for the project. It is at the core teams discretion to assign core reviewers to medium or lower priority items.
Tracking Review Statistics
Stackalytics provides some nice interfaces to track review statistics. The links are provided below. These statistics are used to track not only core reviewer statistics, but also to track review statistics for potential future core members.