<div dir="ltr"><div dir="ltr">On Fri, Sep 24, 2021 at 3:38 PM Jeremy Stanley <<a href="mailto:fungi@yuggoth.org">fungi@yuggoth.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2021-09-24 12:33:14 +0100 (+0100), Neil Jerram wrote:<br>
> On Wed, Sep 22, 2021 at 5:07 PM Balazs Gibizer <balazs.gibizer@est.tech><br>
> wrote:<br>
> <br>
> ><br>
> > I agree not to pin this on master. We need to support the latest and<br>
> > greatest on master. But on stable I don't see the problem saying we<br>
> > only support the tooling version that was the latest when the major<br>
> > release was created.<br>
> ><br>
> <br>
> +1, this seems like a straightforward fix to me.<br>
> <a href="https://review.opendev.org/c/openstack/requirements/+/810859" rel="noreferrer" target="_blank">https://review.opendev.org/c/openstack/requirements/+/810859</a> proposes what<br>
> I think is the right change.  Is there any downside?<br>
<br>
Did that change actually fix the observed problem with tox jobs?<br>
Last I recall, the requirements/constraints on SetupTools were only<br>
effectively applied by DevStack because that includes a separate<br>
step for installing or downgrading it.<br></blockquote><div><br></div><div>I'm afraid I haven't yet tested it, or worked out how I would test it prior to merge - any hints for that?</div><div><br></div><div>My reasoning is based on reading the stack.sh stdout and underlying devstack code (for stable/ussuri):</div><div><br></div><div>+ tools/install_pip.sh:main:152            :   pip_install_gr setuptools<br>+ inc/python:pip_install_gr:76             :   local name=setuptools<br>+ inc/python:pip_install_gr:77             :   local clean_name<br>++ inc/python:pip_install_gr:78             :   get_from_global_requirements setuptools<br>++ inc/python:get_from_global_requirements:238 :   local package=setuptools<br>++ inc/python:get_from_global_requirements:239 :   local required_pkg<br>+++ inc/python:get_from_global_requirements:240 :   grep -i -h '^setuptools' /opt/stack/requirements/global-requirements.txt<br>+++ inc/python:get_from_global_requirements:240 :   cut -d# -f1<br>++ inc/python:get_from_global_requirements:240 :   required_pkg='setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0;python_version>='\''3.5'\''  <br>setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<45.0.0;python_version<='\''2.7'\''  '<br>++ inc/python:get_from_global_requirements:241 :   [[ setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0;python_version>='3.5'  <br>setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<45.0.0;python_version<='2.7'   == '' ]]<br>++ inc/python:get_from_global_requirements:244 :   echo 'setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0;python_version>='\''3.5'\''' 'setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<45.0.0;python_version<='\''2.7'\'''<br>+ inc/python:pip_install_gr:78             :   clean_name='setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0;python_version>='\''3.5'\'' setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<45.0.0;python_version<='\''2.7'\'''<br>+ inc/python:pip_install_gr:79             :   pip_install 'setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0;python_version>='\''3.5'\''' 'setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<45.0.0;python_version<='\''2.7'\'''<br>Using python 3.6 to install setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,<45.0.0;python_version<='2.7' because python3_enabled=True<br></div><div><br></div><div>It clearly seems to be installing a version of setuptools as constrained by global-requirements.txt, and it appears that that installed version is the relevant factor, because runs with 58.* fail and older runs with 57.* succeeded.</div><div><br></div></div></div>