Patchwork

Open vSwitch uses Patchwork to track the status of patches sent to the ovs-dev mailing list. The Open vSwitch Patchwork instance can be found on ozlabs.org.

Patchwork provides a number of useful features for developers working on Open vSwitch:

  • Tracking the lifecycle of patches (accepted, rejected, under-review, …)

  • Assigning reviewers (delegates) to patches

  • Downloading/applying patches, series, and bundles via the web UI or the REST API (see git-pw)

  • A usable UI for viewing patch discussions

Patch States

Maintainers update the state of a patch in Patchwork manually to reflect its current status in the review process. As a patch author, you should monitor your patch’s state after submission. The states you are most likely to encounter are:

New

The patch has been received and not yet triaged.

Under Review

The patch is being actively reviewed by a maintainer or reviewer.

Changes Requested

Review discussion has concluded that the patch needs changes before it can be accepted. You should revise your patch and post a new version (see Posting New Versions).

Accepted

The patch has been applied to the Open vSwitch repository. No further action is needed.

Rejected

The patch will not be applied. The review thread should explain why.

Superseded

A newer version of the patch has been posted, making this version obsolete.

Deferred

The patch cannot be applied right now, for example due to an unresolved dependency. It should be re-posted when the blocking condition is resolved.

If your patch has been in New or Under Review state for an extended period without any feedback, check whether the thread went quiet and send a polite ping to the mailing list.

git-pw

The git-pw tool provides a way to download and apply patches, series, and bundles. You can install git-pw from PyPi like so:

$ pip install --user git-pw

To actually use git-pw, you must configure it with the Patchwork instance URL, Patchwork project, and your Patchwork user authentication token. The URL and project are provided below, but you must obtain your authentication token from your Patchwork User Profile page. If you do not already have a Patchwork user account, you should create one now.

Once your token is obtained, configure git-pw as below. Note that this must be run from within the Open vSwitch Git repository:

$ git config pw.server https://patchwork.ozlabs.org/
$ git config pw.project openvswitch
$ git config pw.token $PW_TOKEN  # using the token obtained earlier

Once configured, run the following to get information about available commands:

$ git pw --help

pwclient

The pwclient is a legacy tool that provides some of the functionality of git-pw but uses the legacy XML-RPC API. It is considered deprecated in its current form and git-pw should be used instead.