While running CI for openstack-designate (OSP 17) we see the following error: × python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [1 lines of output] error in suds-jurko setup command: use_2to3 is invalid. [end of output] To reproduce, clone the project on RHEL 9 and run pep8 or unit tests (py39)
This issue is caused by setuptools[1] >=v58 which removed use_2to3. This use_2to3 is used in an unmaintained package called "suds-jurko" which was only used for an Akamai backend driver. This Akamai API is no longer in operation and the driver (and the suds-jurko requirement) were removed from Designate upstream in Yoga[2] to address the issue introduced by setuptools >=v58. Upstream OpenStack has pinned setuptools for Wallaby to 54.1.1 [3] to avoid these issues. [1] https://setuptools.pypa.io/en/latest/history.html#v58-0-0 [2] https://review.opendev.org/c/openstack/designate/+/813380 [3] https://opendev.org/openstack/requirements/src/branch/stable/wallaby/upper-constraints.txt#L586
Capturing the job log: using tox.ini: /root/src/code.engineering.redhat.com/openstack-designate/tox.ini (pid 200) using tox-3.24.5 from /opt/tox/lib64/python3.9/site-packages/tox/__init__.py (pid 200) skipping sdist step py39 uses /opt/tox/bin/python3 py39 start: getenv /root/src/code.engineering.redhat.com/openstack-designate/.tox/py39 py39 cannot reuse: no previous config /root/src/code.engineering.redhat.com/openstack-designate/.tox/py39/.tox-config1 py39 create: /root/src/code.engineering.redhat.com/openstack-designate/.tox/py39 setting PATH=/root/src/code.engineering.redhat.com/openstack-designate/.tox/py39/bin:/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin [220] /root/src/code.engineering.redhat.com/openstack-designate/.tox$ /opt/tox/bin/python3 -m virtualenv --no-download --python /opt/tox/bin/python3 py39 created virtual environment CPython3.9.10.final.0-64 in 489ms creator CPython3Posix(dest=/root/src/code.engineering.redhat.com/openstack-designate/.tox/py39, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv) added seed packages: pip==22.0.3, setuptools==60.9.3, wheel==0.37.1 activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator py39 installdeps: -chttps://releases.openstack.org/constraints/upper/wallaby, -r/root/src/code.engineering.redhat.com/openstack-designate/requirements.txt, -r/root/src/code.engineering.redhat.com/openstack-designate/test-requirements.txt
so for OSP 17 rhel 9 we have pulled in python-suds which packages https://github.com/suds-community/suds
there are several approaches to fixing this, want to know which approach you want to use? python-suds-0.8.4-5.el9ost is available and provides suds which if I recall correctly replaced stale jurko/suds source with suds-community/suds source fix options: * we could patch the source downstream/upstream * ci could use .spec for Build requires * other (many ways of fixing this but not sure best approach or what above doesn't solve)
Even so, if the tests are running unconstrained to the stable branch versions nor the RPM packaged versions being shipped, we are not testing the code we are shipping. These jobs should be using the correct package constraints and/or the RPM versions provided in RHEL. Either will make the suds version irrelevant. Not to mention, once this change in setuptools occurred, the suds code was completely removed from Designate (Yoga) upstream.
Since it is out of Designate's scope, we are re-assigning it to distribution. Please sort it to the correct team based on the CIX card.