[openstack-dev] All hail the new per-region pypi, wheel and apt mirrors

Clark Boylan cboylan at sapwetik.org
Thu Feb 11 03:07:22 UTC 2016

On Wed, Feb 10, 2016, at 06:02 PM, Tony Breeds wrote:
> On Wed, Feb 10, 2016 at 06:45:25PM -0600, Monty Taylor wrote:
> > Hey everybody,
> > 
> > tl;dr - We have new AFS-based consistent per-region mirrors of PyPI and APT
> > repos with additional wheel repos containing pre-built wheels for all the
> > modules in global-requirements
> Woot!
> I do have a couple of questions about the pre-built wheels:
> 1) You say global-requirements, I assume this includes upper-constraints
> as
>     well.  Do you check that the version of each library as listed in
>     upper-constraints does exist on the mirror?  How many versions of
>     each
>     library do you build wheels for?

It explicitly builds the wheels using upper constraints.
> 2) How doe this work on stable branches?  I'm guessing you look at the
> g-r for
>    each branch, build the wheels and then upload snapshot the whole
>    bunch.  Verify
>    that and release it for consumption.
It iterates through the stable branches and builds wheels for the upper
constraints that it can find. Looks like it should noop if no
constraints are present.

> 3) Do you mirror all matches for a requirements spec or just the highest
> one
>    that matches?
We mirror all of the wheels that we have built over time. As upper
constraints move new wheels will be added. There isn't currently a
delete step but we may add one in the future if necessary.

> 4) Will we see version selection vary between the gate and tests run
> outside the
>    gate?
Not if you use constraints. Pip's selection of deps are constraints win,
if no constraints then take the highest version available and if that
version is available as a wheel use the wheel.

> Actually all of those questions can probably be answer by linking to the
> code
> that builds the wheels.
Code is at

Hope that helps,

More information about the OpenStack-dev mailing list