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

2015-01-31 Thread Joshua Harlow
For those that have been following this escapade I wrote up the following, hopefully it's useful to someone ;) https://github.com/harlowja/pippin#how-it-works Example(s) of actual runs are also @ https://github.com/harlowja/pippin/tree/master/examples ^ Does not include the full output files

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

2015-01-30 Thread Joshua Harlow
Cool, I've got to try that out today to see what it's doing. I've also shoved my little program up @ https://github.com/harlowja/pippin (the pip-tools one is definitely more elegantly coded than mine, haha). Feel free to fork it (modify, run, or ...) Basic instructions to use it:

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

2015-01-30 Thread Bailey, Darragh
You may find the code for pip-compile https://github.com/nvie/pip-tools/tree/future of interest for this, as I think they may already have a solution for the deep dependency analysis. I've started experimenting with it for git-upstream cause GitPython have a habbit of breaking stuff through a

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

2015-01-27 Thread Joshua Harlow
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 networkx1.5 Running the above gist on that (and waiting for a while; since it does do a lot of backtracking and trying of

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

2015-01-27 Thread Joshua Harlow
Btw try this on 'pip6' (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

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

2015-01-27 Thread Matt Riedemann
On 1/15/2015 5:41 PM, Sean Dague wrote: On 01/15/2015 06:25 PM, Joe Gordon wrote: We can side step the dependency graphing and ordering issue by looking at the list of curently installed packages via pip freeze and not installing dependencies (pip install --no-deps) After looking into this

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

2015-01-22 Thread Kevin L. Mitchell
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,

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

2015-01-22 Thread Joshua Harlow
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:

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

2015-01-21 Thread Joshua Harlow
Another thing that I just started whipping together: https://gist.github.com/harlowja/5e39ec5ca9e3f0d9a21f The idea for the above is to use pip to download dependencies, but figure out what versions will work using our own resolver (and our own querying of

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

2015-01-21 Thread Joshua Harlow
A run that shows more of the happy/desired path: $ cat test.txt six1 taskflow0.5 $ python pippin.py -r test.txt Initial package set: - six ['1'] - taskflow ['0.5'] Deep package set: - six ['==1.9.0'] - taskflow ['==0.4.0'] -Josh Joshua Harlow wrote: Another thing that I just started whipping

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

2015-01-21 Thread Joshua Harlow
A slightly better version that starts to go deeper (and downloads dependencies of dependencies and extracts there egg_info to get at these dependencies...) https://gist.github.com/harlowja/555ea019aef4e901897b Output @ http://paste.ubuntu.com/9813919/ When ran on the same 'test.txt'

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

2015-01-16 Thread Bailey, Darragh
On 15/01/15 23:41, Sean Dague wrote: On 01/15/2015 06:25 PM, Joe Gordon wrote: We can side step the dependency graphing and ordering issue by looking at the list of curently installed packages via pip freeze and not installing dependencies (pip install --no-deps) After looking into this

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

2015-01-15 Thread Jeremy Stanley
On 2015-01-15 08:44:58 -0500 (-0500), Sean Dague wrote: [...] The other thing that happened was partial capping doesn't work, because something else moves forward and breaks you from below. So the patch will need to hit everything at once. Right, and we _have_ to start using stable branches on

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

2015-01-15 Thread Joe Gordon
On Fri, Jan 16, 2015 at 12:25 PM, Joe Gordon joe.gord...@gmail.com wrote: We can side step the dependency graphing and ordering issue by looking at the list of curently installed packages via pip freeze and not installing dependencies (pip install --no-deps) After looking into this further

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

2015-01-15 Thread Sean Dague
On 01/15/2015 06:25 PM, Joe Gordon wrote: We can side step the dependency graphing and ordering issue by looking at the list of curently installed packages via pip freeze and not installing dependencies (pip install --no-deps) After looking into this further here are the known issues: *

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

2015-01-15 Thread Joe Gordon
We can side step the dependency graphing and ordering issue by looking at the list of curently installed packages via pip freeze and not installing dependencies (pip install --no-deps) After looking into this further here are the known issues: * Partial capping won't work [0], so we need to pin

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

2015-01-15 Thread ZhiQiang Fan
+1 how about the deep dependency? for example, we depends package A, and pin it, but A-B-C, then B and C are not pined since they are not directly depended, then what should we do? pin everything? On Thu, Jan 15, 2015 at 5:35 PM, Joe Gordon joe.gord...@gmail.com wrote: Eventlet released 0.16.1

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

2015-01-15 Thread Nikola ─Éipanov
On 01/15/2015 10:35 AM, Joe Gordon wrote: So how could we have avoided this problem? By capping stable branch requirements so we only have to worry about uncapped dependencies on master. Capping stable branches has been previous discussed but no action has been taken. So going forward I

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

2015-01-15 Thread Sean Dague
On 01/15/2015 05:21 AM, Nikola ─Éipanov wrote: On 01/15/2015 10:35 AM, Joe Gordon wrote: So how could we have avoided this problem? By capping stable branch requirements so we only have to worry about uncapped dependencies on master. Capping stable branches has been previous discussed but no

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

2015-01-15 Thread Sean Dague
On 01/15/2015 08:38 AM, Thierry Carrez wrote: Sean Dague wrote: The policy decision to cap stable requirements was agreed to previously (and at summit this year), it just needs someone to implement. +1 We started to implement it (in Oslo libraries iirc) and then reverted because we

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

2015-01-15 Thread Thierry Carrez
Sean Dague wrote: The policy decision to cap stable requirements was agreed to previously (and at summit this year), it just needs someone to implement. +1 We started to implement it (in Oslo libraries iirc) and then reverted because we encountered problems. We concluded a proper cross-project