[openstack-dev] [stable][requirements] External dependency caps introduced in 499db6b

Sean Dague sean at dague.net
Mon Feb 16 22:08:17 UTC 2015


On 02/16/2015 02:08 PM, Doug Hellmann wrote:
> 
> 
> On Mon, Feb 16, 2015, at 01:01 PM, Ian Cordasco wrote:
>> Hey everyone,
>>
>> The os-ansible-deployment team was working on updates to add support for
>> the latest version of juno and noticed some interesting version
>> specifiers
>> introduced into global-requirements.txt in January. It introduced some
>> version specifiers that seem a bit impossible like the one for requests
>> [1]. There are others that equate presently to pinning the versions of
>> the
>> packages [2, 3, 4].
>>
>> I understand fully and support the commit because of how it improves
>> pretty much everyone’s quality of life (no fires to put out in the middle
>> of the night on the weekend). I’m also aware that a lot of the downstream
>> redistributors tend to work from global-requirements.txt when determining
>> what to package/support.
>>
>> It seems to me like there’s room to clean up some of these requirements
>> to
>> make them far more explicit and less misleading to the human eye (even
>> though tooling like pip can easily parse/understand these).
> 
> I think that's the idea. These requirements were generated
> automatically, and fixed issues that were holding back several projects.
> Now we can apply updates to them by hand, to either move the lower
> bounds down (as in the case Ihar pointed out with stevedore) or clean up
> the range definitions. We should not raise the limits of any Oslo
> libraries, and we should consider raising the limits of third-party
> libraries very carefully.
> 
> We should make those changes on one library at a time, so we can see
> what effect each change has on the other requirements.
> 
>>
>> I also understand that stable-maint may want to occasionally bump the
>> caps
>> to see if newer versions will not break everything, so what is the right
>> way forward? What is the best way to both maintain a stable branch with
>> known working dependencies while helping out those who do so much work
>> for
>> us (downstream and stable-maint) and not permanently pinning to certain
>> working versions?
> 
> Managing the upper bounds is still under discussion. Sean pointed out
> that we might want hard caps so that updates to stable branch were
> explicit. I can see either side of that argument and am still on the
> fence about the best approach.

History has shown that it's too much work keeping testing functioning
for stable branches if we leave dependencies uncapped. If particular
people are interested in bumping versions when releases happen, it's
easy enough to do with a requirements proposed update. It will even run
tests that in most cases will prove that it works.

It might even be possible for someone to build some automation that did
that as stuff from pypi released so we could have the best of both
worlds. But I think capping is definitely something we want as a
project, and it reflects the way that most deployments will consume this
code.

	-Sean

-- 
Sean Dague
http://dague.net



More information about the OpenStack-dev mailing list