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.
Oslo Syncing 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.
- The commit message should list which oslo changes are being synced in.
Nova Review Checklist
- For ReST API changes:
- Produce a full API design in a blueprint in advance
- FIXME: add API style guide e.g. instance called server for example, capitalization guidelines
- 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.
- When changing rootwrap filters
- Add Thierry Carrez to the review
- FIXME: add specific review checklist
- 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)
- When to approve
- Every patch needs two +2s before being approved.
- Its ok to hold off on an approval until a subject matter export reviews it, such as for neutron, xen, or glance related changes.
- If a patch has already been approved but requires a trivial rebase to merge, you do not have to wait for a second +2, since the patch has already had two +2s.
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.