[openstack-dev] [nova][gate][stable] How eventlet 0.16.1 broke the gate

Joshua Harlow harlowja at outlook.com
Wed Jan 28 01:20:36 UTC 2015


Btw try this on 'pip<6' (for those that want to); Pip 6+ moved some of 
the code around that this uses; for feel to update it though and adjust 
it to find where the new stuff is :-P

Joshua Harlow wrote:
> Here is one that is more complete:
>
> https://gist.github.com/harlowja/e22e8c0771b336ca392f
>
> Using a really simple requirement set that will not work:
>
> $ cat test.txt
> taskflow
> networkx<1.5
>
> Running the above gist on that (and waiting for a while; since it does
> do a lot of backtracking and trying of different versions....) the
> program will eventually break with something like the following:
>
> http://paste.ubuntu.com/9907530/
>
> The above can likely be optimized more (to avoid diving into
> requirements that have already failed being selected) but it does seem
> to work as a satisfiability solver that will recursively check
> requirements deeply and try as many solutions as possible (with
> backtracking when a requirement is selected that doesn't work).
>
> -Josh
>
> Joshua Harlow wrote:
>> Seems like a simple fix?
>>
>> https://github.com/pypa/pip/blob/1.5.6/pip/req.py#L1536
>>
>> Make a new session somewhere in that gist/code and profit?
>>
>> Kevin L. Mitchell wrote:
>>> On Wed, 2015-01-21 at 18:48 -0800, Joshua Harlow wrote:
>>>> Another thing that I just started whipping together:
>>>>
>>>> https://gist.github.com/harlowja/5e39ec5ca9e3f0d9a21f
>>>
>>> One problem, though, is that parse_requirements() now requires the
>>> session keyword argument. In version 6.0.6, parse_requirements() begins
>>> with:
>>>
>>> def parse_requirements(filename, finder=None, comes_from=None,
>>> options=None,
>>> session=None):
>>> if session is None:
>>> raise TypeError(
>>> "parse_requirements() missing 1 required keyword argument: "
>>> "'session'"
>>> )



More information about the OpenStack-dev mailing list