[openstack-dev] [oslo] Oslo library versioning

Monty Taylor mordred at inaugust.com
Mon Dec 3 19:38:16 UTC 2012



On 12/03/2012 03:32 AM, Mark McLoughlin wrote:
> On Mon, 2012-12-03 at 11:09 +0100, Thierry Carrez wrote:
>> Monty Taylor wrote:
>>> Actually, if we have some snapshot releases which look like this:
>>> 2012.2~G2~5 (for instance)
>>>
>>> That get turned in to python versions that look like this:
>>> 2012.2-alpha2.5  (for instance)
>>
>> Yes, that was one of the options I considered, translating into
>> something that PyPI actually supports. I tried to avoid that because it
>> makes us use two different-looking version numbers to represent the same
>> thing (2013.1~G2 = 2013.2-alpha2), but since for oslo libraries we'll
>> have to push intermediary versions between milestones anyway... it's no
>> longer a 1:1 match. So I guess it's not such a big deal.
> 
> I don't think we can use PyPI for development/apha/milestone releases
> while PyPI has no way for us to ensure that "pip install oslo-config"
> won't install a development snapshot.
> 
> i.e. PyPI has only one stream and IMHO it only makes sense for that to
> be our stable stream, not our development stream.
> 
>>> Then I don't understand why we couldn't upload snapshots and real
>>> releases to pypi - and then have nova do:
>>> oslo-foo>=2012.2,<=2013.1
>>> In its pip-requires.
>>
>> That's what I proposed higher in the thread, but Mark replied:
>>
>>> I really, really hate version caps like that :)
>>
>> So I suspect there is no consensus yet about that...
> 
> Right :)
> 
>   http://lists.openstack.org/pipermail/openstack-dev/2012-November/003349.html
> 
> A <=2013.1 cap is simply inaccurate and misleading.
> 
> Say we ended up with this in the Grizzly release:
> 
>   glance: oslo-config>=2013.1,<2013.2
>   nova: oslo-config>=2013.1,<2013.2
> 
> and then the H release comes out:
> 
>   glance: oslo-config>=2013.2,<2014.1
>   nova: oslo-config>=2013.2,<2014.1
> 
> You now cannot update Glance to the H release on a single system without
> breaking the requirement conditions of the installed Nova Grizzly
> package.
> 
> And a big reason for wanting stable APIs in Oslo library packages is to
> allow those types of situations.

Great. I don't think we need to upload snapshots to PyPI - I just wanted
to make sure we weren't missing an easy path.

I think I grok everything here, let me write up a summary of what I
understand and how I think we do it and send it back to make sure.

Monty



More information about the OpenStack-dev mailing list