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)

OpenStack-dev mailing list

Reply via email to