[openstack-dev] Moving forward with openstack/requirements

Monty Taylor mordred at inaugust.com
Mon Jan 14 18:09:09 UTC 2013



On 01/14/2013 08:07 AM, Doug Hellmann wrote:
> 
> 
> On Sat, Jan 12, 2013 at 10:30 PM, Monty Taylor <mordred at inaugust.com
> <mailto:mordred at inaugust.com>> wrote:
> 
>     Hey all!
> 
>     Once again, we've kind of stalled out on our two-summit old project of
>     common requirements across the projects. The initial repo is up at
>     http://github.com/openstack/requirements but I think not much happens
>     with it because working on it doesn't really get you anything right
>     now..
> 
>     So I've got an idea for steps to move forward.
> 
>     Step 0: Re-sync the contents of the files with the new state of reality
>     Step 1: Drive updates to the OpenStack PyPI mirror from the requirements
>     repo
>     Step 2: Configure the Jenkins slaves to only talk to the PyPI mirror
>     for pip
>     Step 3: Add a step to the pypi mirror creation that pulls packages fresh
>     from requirements into a new proposed state of the PyPI mirror, then
>     tests all of the projects against that mirror and only promotes new
>     packages into if those tests pass.
> 
> 
> It could also use a pip/tox cache directory for those tests to avoid
> complicating the PyPI setup.

Funny story ... we create our pypi mirror by downloading reqs with pip
and then post-processing the pip cache. So, yeah. :)

>     That's it. Done.
> 
>     If we do through step 2, it means that before someone can add a new
>     requirement to a project, it would have to go into
>     openstack/requirements. If we do step 3, it'll trap for things like the
>     sqlalchemy 0.8 upgrade issue. It also, as an approach, doesn't enforce
>     that projects have to upgrade at any point, because previous versions of
>     things will still be in our mirror (we don't purge it)
> 
> 
> This improves the situation, but doesn't quite solve the problem of
> rolling out updates to packages where we are pegged to a specific
> version (see the recent thread on WebOb). Step 3 is really important for
> being able to switch from == versioning to the more flexible >= versioning.

Totes.

>     Also - while you're all thinking about it - I've been considering
>     getting the code we have in oslo-incubator setup that makes setup.py
>     understand pip-requires and test-requires automatically upstreamed
>     (seems like a thing we're not the only ones who would want it) The catch
>     - those aren't the filenames most people use for those files. SO - what
>     if we (and by we, I mean I, and by I, I mean a shell script that submits
>     a bajillion reviews) renamed tools/pip-requires to requirements.txt and
>     tools/test-requires to test-requirements.txt? I've already updated our
>     mirror creation code to recognize both files. If people are cool with
>     that, I can then work on trying to get a patch into distribute that
>     would allow for that - which would mean less copied code for us.
> 
> 
> +1
> 
> Doug
>  
> 
> 
>     Thoughts welcome...
> 
>     Monty
> 
>     _______________________________________________
>     OpenStack-dev mailing list
>     OpenStack-dev at lists.openstack.org
>     <mailto:OpenStack-dev at lists.openstack.org>
>     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> 
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 



More information about the OpenStack-dev mailing list