Chronological PTL guide

Chronological PTL guide

This is just a reference guide that a PTL may use as an aid, if they choose.

Project Team Gathering

After PTG

A few weeks before milestone 1

Milestone 1

  • Do milestone release of nova and python-novaclient (in launchpad only)

  • Release other libraries if there are significant enough changes since last release. When releasing the first version of a library for the cycle, bump the minor version to leave room for future stable branch releases

    • os-vif

  • Release stable branches of nova

    • git checkout <stable branch>

    • git log --no-merges <last tag>..

      • Examine commits that will go into the release and use it to decide whether the release is a major, minor, or revision bump according to semver

    • Then, propose the release with version according to semver x.y.z

      • X - backward-incompatible changes

      • Y - features

      • Z - bug fixes

    • Use the new-release command to generate the release


  • Prepare the project update presentation. Enlist help of others

  • Prepare the on-boarding session materials. Enlist help of others

A few weeks before milestone 2

Milestone 2

  • Spec freeze

  • Release nova and python-novaclient

  • Release other libraries as needed

  • Stable branch releases of nova

  • For nova, set the launchpad milestone release as “released” with the date

Shortly after spec freeze

  • Create a blueprint status etherpad to help track, especially non-priority blueprint work, to help things get done by Feature Freeze (FF). Example:

  • Create or review a patch to add the next release’s specs directory so people can propose specs for next release after spec freeze for current release

Non-client library release freeze

  • Final release for os-vif

Milestone 3

  • Feature freeze day

  • Client library freeze, release python-novaclient

  • Close out all blueprints, including “catch all” blueprints like mox, versioned notifications

  • Stable branch releases of nova

  • For nova, set the launchpad milestone release as “released” with the date

Week following milestone 3

A few weeks before RC


Immediately after RC

  • Look for bot proposed changes to reno and stable/<cycle>

  • Follow the post-release checklist

  • Create the launchpad series for the next cycle

  • Set the development focus of the project to the new cycle series

  • Set the status of the new series to “active development”

  • Set the last series status to “current stable branch release”

  • Set the previous to last series status to “supported”

  • Repeat launchpad steps ^ for python-novaclient

  • Register milestones in launchpad for the new cycle based on the new cycle release schedule

  • Make sure the specs directory for the next cycle gets created so people can start proposing new specs

  • Make sure to move implemented specs from the previous release

    • Use tox -e move-implemented-specs <release>

    • Also remove template from doc/source/specs/<release>/index.rst

    • Also delete template file doc/source/specs/<release>/template.rst

  • Create new release wiki:

Miscellaneous Notes

How to approve a launchpad blueprint

  • Set the approver as the person who +W the spec, or set to self if it’s specless

  • Set the Direction => Approved and Definition => Approved and make sure the Series goal is set to the current release. If code is already proposed, set Implementation => Needs Code Review

  • Add a comment to the Whiteboard explaining the approval, with a date (launchpad does not record approval dates). For example: “We discussed this in the team meeting and agreed to approve this for <release>. – <nick> <YYYYMMDD>”

How to complete a launchpad blueprint

  • Set Implementation => Implemented. The completion date will be recorded by launchpad

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.