[openstack-dev] [oslo] alpha version numbering discussion from summit

Thierry Carrez thierry at openstack.org
Thu Nov 13 08:52:09 UTC 2014

Doug Hellmann wrote:
> The outcome of the “Should Oslo continue to use alpha versions” session at the summit [1] was unclear, so I would like to continue the discussion here.
> As we discussed at the summit, the primary reason for marking Oslo library releases as alphas was to indicate that the library is under development and not “stable”, so it should not be included in a deployment using stable branches. 
> I think we were very close to being able to say that Oslo could stop using Alpha versions for new library releases because we would pin the versions of libraries used in the stable branches to MAJOR.MINOR+1 to only allow bug-fix releases to appear in deployments using those branches. However, we will not (and perhaps cannot) pin the versions of client libraries, and some of the clients are now using oslo.utils and potentially other oslo libraries. This would either break the clients (if they used a feature of an oslo library not in the version of the library supported by the server) or the server (if the oslo library is upgraded and a setuptools requirements check notices or some feature has been removed from the oslo library).
> We came to this realization just as we were running out of time for the session, so we did not come up with a solution. I wasn’t able to attend the stable branch session, so I am hoping that someone who was there will be able to explain a bit about the version pinning discussion and how that may, or may not, affect Oslo library versioning.

The stable branch discussion happened before the Alpha versioning one.
In that discussion, we considered generally pinning dependencies for
stable branches, to reduce breakage there and make it more likely we
reach 15months+ of support.

That said, since we don't have stable branches for client libraries, we
didn't plan to pin those, so we might still need to bump the client
libraries dependencies in stable/* requirements as they evolve.
Technically, we wouldn't really be freezing the stable requirements, we
would just bump them on a "as needed" basis rather than automatically.

As far as the alpha versioning discussion goes, I think it could work,
as long as a released client library won't depend on an alpha of an oslo
library (which I think is a reasonable assumption). We would just need
to somehow remember to bump the oslo library in stable/* requirements
when the new client library depending on a new version of it is
released. Not sure how we can do that before the client library bump
breaks the branch, though ?

Thierry Carrez (ttx)

More information about the OpenStack-dev mailing list