[openstack-dev] [packaging] liberty doesn't have caps on deps

Matthew Thode prometheanfire at gentoo.org
Thu Oct 15 22:21:23 UTC 2015

On 10/15/2015 05:12 PM, Robert Collins wrote:
> On 16 October 2015 at 08:10, Matthew Thode <prometheanfire at gentoo.org> wrote:
>> On 10/15/2015 02:04 PM, Robert Collins wrote:
> ...
>>>> Where are my caps?
>>> The known good versions of dependencies for liberty are
>>> http://git.openstack.org/cgit/openstack/requirements/tree/upper-constraints.txt?h=stable/liberty
>> That's good, does that represent an upper constraint for the lower
>> constraint imposed by by the package?  Why is this kept separate?
>> Keeping it separate means that it's not trivial to merge them with
>> what's in each package's requirements.
> It represents *one* known good combination of packages. We know that
> that combination passed CI, and we then do all our tests with it. To
> change it, we run it past CI and only move onto using the new set when
> its passed CI.
> If we merged it to each packages requirements, we'd reintroduce the
> deadlock that caused so much grief only 6 months back - I don't see
> any reason, desire, or tolerance for doing that upstream.
> Its kept separate because it requires 2N commits to shift known-good
> caps around for N repos using per-repo rules.
> With hundreds of repositories, it takes us hundreds of commits in two
> batches - and a round trip time of 2 hours per batch (check + gate) to
> shift *a single* requirement. With hundreds of dependencies, thats an
> intolerable amount of overhead.

ya, that is annoying, unfortunately packages don't need to know *ONE*
good combination, they need to know them all, or at least the cap.  What
you are basically doing is shifting all of this extra work onto the
packagers, in fact I wouldn't be surprised if they needed to start
vendoring all of openstack in a virtualenv instead of doing actual packages.

My question remains though, if someone pip installs nova liberty, will
it pull in deps from mitaka?  As it is now, without caps I cannot
reliably package openstack, do you have a solution? I should probably
start removing the liberty packages I did package since upstream seems
so hostile...

>>> You should be able to trivially pull those versions out and into your
>>> liberty set of packages.
>>> Theres another iteration on this in discussion now, which has to do
>>> with backwards compat *and testing of cap changes*, we'll be in the
>>> backwards compat fishbowl session in Tokyo if you're interested.
>>> -Rob
>> I'll be at the fishbowl :D
> Great!
> -Rob

-- Matthew Thode (prometheanfire)

More information about the OpenStack-dev mailing list