Bug 2069553

Summary: [CI Bug] error in suds-jurko setup command: use_2to3 is invalid
Product: Red Hat OpenStack Reporter: Arie Bregman <abregman>
Component: distributionAssignee: OSP Team <rhos-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Lon Hohberger <lhh>
Severity: low Docs Contact:
Priority: low    
Version: 17.0 (Wallaby)CC: apevec, gthiemon, jjoyce, jschluet, mburns, mgarciac, njohnston, oschwart, scohen, shrjoshi
Target Milestone: Alpha   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-06-28 13:57:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Arie Bregman 2022-03-29 07:12:41 UTC
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)

Comment 3 Michael Johnson 2022-03-29 15:04:46 UTC
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

Comment 5 Michael Johnson 2022-03-29 15:55:33 UTC
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

Comment 6 Jon Schlueter 2022-04-06 14:37:06 UTC
so for OSP 17 rhel 9 we have pulled in python-suds which packages https://github.com/suds-community/suds

Comment 7 Jon Schlueter 2022-04-06 14:44:14 UTC
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)

Comment 8 Michael Johnson 2022-04-06 14:51:19 UTC
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.

Comment 10 Omer Schwartz 2022-05-24 14:46:09 UTC
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.