<div dir="ltr">Hi, Jeremy.<br><br><div class="gmail_quote"><div dir="ltr">On Sat, Dec 12, 2015 at 8:27 PM Jeremy Stanley <<a href="mailto:fungi@yuggoth.org">fungi@yuggoth.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 2015-12-12 16:51:09 +0000 (+0000), Jeremy Stanley wrote:<br>
[...]<br>
> No, it won't, since upper-constraints is merely used to constrain<br>
> requirements lists.<br>
<br>
I take that back, the pip_install function in DevStack applies<br>
upper-constraints.txt on anything it installs, but regardless it's<br>
misleading to try to pin it in upper-constraints.txt because that<br>
won't help any of the numerous other jobs which may use constraints<br>
but rely on preinstalled tox.</blockquote><div><br></div><div>I think it should be a good first step in right direction. For example, with today's issue it would break gate for tempest itself only since all other jobs would have preinstalled tox reverted to one mentioned in upper-constraints.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Also I've confirmed that tempest jobs<br>
do still seem to be working fine in our CI, and don't seem to be<br>
unconditionally upgrading the preinstalled tox version.</blockquote><div><br></div><div>Pip doesn't upgrade tox if it is already installed, but will obey constraints if they're provided. That's why it works with current reverted image.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">For the<br>
benefit of people running DevStack themselves downstream, Ryan's<br>
<a href="https://review.openstack.org/256620" rel="noreferrer" target="_blank">https://review.openstack.org/256620</a> looks like a more sensible<br>
temporary workaround.<br></blockquote><div><br></div><div>Won't they use constraints too? I think we cover DevStack issue with upper-constraints change as a more permanent solution.</div></div></div>