Jump to: navigation, search


FeatureFreeze (FF) happens when we tag the last development milestone in a cycle for projects following the cycle-with-milestones release model. It generally happens the Thursday on the corresponding milestone delivery week.


Once FF kicks in, you are no longer allowed to accept proposed changes containing new features into the current development release. Such proposed changes should be rejected by the review team and postponed until the next series development opens (which should happen when RC1 is published).


FF ensures that sufficient share of the ReleaseCycle is dedicated to QA, until we produce the first release candidates. Limiting the changes that affect the behavior of the software allow for consistent testing and efficient bugfixing.

Exception procedure

If you want to propose changes containing a feature (that you believe has an acceptable importance/risk_of_regression ratio) for merging into the development release after FF, follow those steps:

  • Make sure all your change has thorough unit tests, especially if your patch touches an area of the code that currently is not well-tested
  • Make sure the proposed change is linked to the associated blueprint (if any)
  • Propose your change for merging
  • In a specific comment on the review, provide the following information:
    • Benefit of the change
    • Risk of regression
  • In the review, request the advice of the PTL by adding his name using "Add reviewer"

Feature Freeze exceptions have 4 dimensions to consider:

  • how disruptive the change is (and therefore likely to break other teams that try to test the RC)
  • how much time it will take (and therefore likely to disrupt other teams for a longer time)
  • how many FFE there are for one project (since that will distract reviewers from RC bugfixing/testing)
  • finally, how broken the release is without it

The Release managers are available on #openstack-relmgr-office to provide advice to developers as to what needs an exception, or to PTLs as to whether a specific exception should be granted.

The PTL, with the assistance of the core developers of the associated product, will evaluate the request and grant or deny the exception. The farther we are in the release cycle, the less likely it is for the exception to be granted. Remember that the next cycle is just a month away :)