Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1716497

Summary: python-eventlet fails to build with Python 3.8
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-eventletAssignee: Miro Hrončok <mhroncok>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: apevec, igor.raits, kevin, shamardin
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/python-eventlet/
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-07-10 13:26:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1686977    

Description Miro Hrončok 2019-06-03 14:38:14 UTC
See https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/python-eventlet/ for actual logs. This report is automated and not very verbose, but feel free to ping me for help.

Comment 1 Miro Hrončok 2019-06-04 11:26:29 UTC
======================================================================
FAIL: tests.greendns_test.test_import_rdtypes_then_eventlet
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/greendns_test.py", line 1005, in test_import_rdtypes_then_eventlet
    tests.run_isolated('greendns_import_rdtypes_then_eventlet.py')
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/__init__.py", line 378, in run_isolated
    run_python(prefix + path, **kwargs)
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/__init__.py", line 371, in run_python
    assert ok, 'Expected single line "pass" in stdout'
AssertionError: Expected single line "pass" in stdout

======================================================================

A lot of failures like this.

Comment 2 Kevin Fenzi 2019-06-16 21:44:47 UTC
huh, why does: 

https://copr-be.cloud.fedoraproject.org/results/@python/python3.8/fedora-rawhide-x86_64/00923043-python-eventlet/

have python-lightblue in it?

Comment 3 Miro Hrončok 2019-06-17 07:14:27 UTC
Copr was drunk? Trying again in https://copr.fedorainfracloud.org/coprs/g/python/python3.8/build/936495/

Comment 4 Miro Hrončok 2019-06-17 09:25:51 UTC
https://copr.fedorainfracloud.org/coprs/g/python/python3.8/build/936534/


======================================================================
FAIL: test_007_get_arg (tests.wsgi_test.TestHttpd)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/wsgi_test.py", line 338, in test_007_get_arg
    self.assertEqual(result.body, b'a is a, body is a=a')
AssertionError: b'Traceback (most recent call last):\n  Fil[489 chars]\'\n' != b'a is a, body is a=a'

----------------------------------------------------------------------
Ran 693 tests in 55.541s

FAILED (SKIP=95, failures=1)

Comment 5 Kevin Fenzi 2019-06-29 18:10:33 UTC
Possibly https://github.com/eventlet/eventlet/pull/574 is related?

Comment 6 Miro Hrončok 2019-07-10 13:07:23 UTC
With that PR, I got the same failure:

======================================================================
FAIL: test_007_get_arg (tests.wsgi_test.TestHttpd)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/wsgi_test.py", line 338, in test_007_get_arg
    self.assertEqual(result.body, b'a is a, body is a=a')
AssertionError: b'Traceback (most recent call last):\n  Fil[489 chars]\'\n' != b'a is a, body is a=a'

----------------------------------------------------------------------
Ran 694 tests in 56.076s

FAILED (SKIP=95, failures=1)

Will try to print the actual Traceback.

Comment 7 Miro Hrončok 2019-07-10 13:11:00 UTC
This is it:


Traceback (most recent call last):
  File "/builddir/build/BUILD/eventlet-0.25.0/eventlet/wsgi.py", line 566, in handle_one_response
    result = self.application(self.environ, start_response)
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/wsgi_test.py", line 113, in __call__
    return self.application(env, start_response)
  File "/builddir/build/BUILD/eventlet-0.25.0/tests/wsgi_test.py", line 321, in new_app
    a = cgi.parse_qs(body).get('a', [1])[0]
AttributeError: module 'cgi' has no attribute 'parse_qs'



https://docs.python.org/3.7/library/cgi.html#cgi.parse_qs
This function is deprecated in this module. Use urllib.parse.parse_qs() instead. It is maintained here only for backward compatibility.

https://docs.python.org/3.8/whatsnew/3.8.html#api-and-feature-removals
parse_qs, parse_qsl, and escape are removed from cgi module. They are deprecated from Python 3.2 or older.

Comment 8 Miro Hrončok 2019-07-10 13:13:38 UTC
https://github.com/eventlet/eventlet/issues/580

Comment 9 Miro Hrončok 2019-07-10 13:23:00 UTC
Will ad patch from https://github.com/eventlet/eventlet/pull/581