This page includes a list of things that reviewers should keep in mind when reviewing patches to OpenStack projects. There are some items that are common across all projects and others that are specific to a project.
Common Review Checklist
- The code should comply with everything in HACKING.
- The code should be 'pythonic' and look like the code around it, to make the code more uniform and easier to read
- When adding a new file:
- If it's not installed by setup.py, but should be included in the tarball, be sure to add it to `MANIFEST.in`.
- Commit Message and Change break-up
- Follow the advice of GitCommitMessages.
- Use the "DocImpact" tag on changes that affect documentation.
- Use the "SecurityImpact" tag on changes that should get the attention of the OpenStack Security Group (OSSG) for additional review.
- If the patch fixes a bug, it should reference a bug report.
- If the patch implements a feature, it should reference a blueprint. The blueprint should be approved before the patch is merged.
Nova Review Checklist
- When syncing from oslo:
- Ensure the proposed change has actually merged in oslo.
- It should provide some benefit, don't sync just to sync. Maybe it fixes a bug, or provides new functionality to be used. If providing new functionality it should have a dependent patch lined up to use that functionality.
- For ReST API changes:
- If an API sample test template changes, ensure the doc samples are also updated.
- The change should conform to APIChangeGuidelines
- When changing an RPC interface
- Make sure the version numbers are updated appropriately and that backwards compatibility is maintained. More info here.
- If an existing method is being updated, make sure support for sending the old version of the method is still supported. Search for existing uses of "can_send_version()" for examples.
- Criteria for new compute drivers
- Should support everything in the core OpenStack compute API
- Should have public CI doing functional testing (http://lists.openstack.org/pipermail/openstack-dev/2013-July/011280.html)
Notes for Non-Core Developers
- When you are reviewing, you may notice a review that has several +1's from other reviewers, passes the functional tests, etc. but the code still has not been merged. As only core developers can approve code for merging, you can help things along by getting a core developer's attention and letting them know there is a review with lots of positive reviews and needs final approval.