Bug 1818594

Summary: botocore fails to run with Python 3.9: No module named 'xml.etree.cElementTree'
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-botocoreAssignee: David Duncan <davdunc>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: bperkins, davdunc, fschwarz, gholms, gwync, lkundrak, me
Target Milestone: ---   
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: 2020-04-21 13:17:23 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:
Bug Depends On:    
Bug Blocks: 1785415, 1818592, 1818595, 1818597    

Description Miro Hrončok 2020-03-29 14:37:57 UTC
Packages that depend on botocore fail to run on Python 3.9 with tracebacks liek this one:


Traceback:
tests/test_warpedvrt.py:8: in <module>
    import boto3
/usr/lib/python3.9/site-packages/boto3/__init__.py:16: in <module>
    from boto3.session import Session
/usr/lib/python3.9/site-packages/boto3/session.py:17: in <module>
    import botocore.session
/usr/lib/python3.9/site-packages/botocore/session.py:28: in <module>
    import botocore.configloader
/usr/lib/python3.9/site-packages/botocore/configloader.py:19: in <module>
    from botocore.compat import six
/usr/lib/python3.9/site-packages/botocore/compat.py:149: in <module>
    import xml.etree.cElementTree
E   ModuleNotFoundError: No module named 'xml.etree.cElementTree'

See the blocked bugs for full logs.


Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.9:
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/

Let us know here if you have any questions.

Python 3.9 will be included in Fedora 33. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.9.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon.
We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Miro Hrončok 2020-03-29 14:46:16 UTC
Side note: python-botocore builds just fine, because it has no %check section.

Comment 2 Gwyn Ciesla 2020-03-30 23:32:19 UTC
Can you retest with the .32 versions now in rawhide?

Comment 3 Miro Hrončok 2020-03-30 23:54:12 UTC
1.15.32-1 built in copr 24 minutes ago, submitting python-rasterio, python-certbot-dns-route53 and python-fiona.

https://copr.fedorainfracloud.org/coprs/g/python/python3.9/build/1323939/
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/build/1323940/
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/build/1323941/

Comment 4 Miro Hrončok 2020-03-30 23:56:30 UTC
 python3-botocore            noarch  1.15.32-1.fc33  copr_base                                                      3.3 M

>   import xml.etree.cElementTree
E   ModuleNotFoundError: No module named 'xml.etree.cElementTree'

/usr/lib/python3.9/site-packages/botocore/compat.py:149: ModuleNotFoundError


That's a no.

Comment 5 Miro Hrončok 2020-03-30 23:57:47 UTC
master branch upstream also contains the problematic code: https://github.com/boto/botocore/blob/develop/botocore/compat.py

Comment 6 Miro Hrončok 2020-03-30 23:58:41 UTC
Correction, I'm not sure what branch they use, but both of those have it:

master https://github.com/boto/botocore/blob/master/botocore/compat.py
develop https://github.com/boto/botocore/blob/develop/botocore/compat.py

Comment 7 Gwyn Ciesla 2020-04-08 20:50:48 UTC
Please test 1.15.38-2 in rawhide.

Comment 9 Miro Hrončok 2020-04-08 23:06:57 UTC
nothing provides (python3.9dist(docutils) >= 0.10 with python3.9dist(docutils) < 0.16) needed by python3-botocore-1.15.38-2.fc33.noarch

Sorry :(

That is https://src.fedoraproject.org/rpms/python-docutils/pull-request/5#comment-41209

Comment 10 Gwyn Ciesla 2020-04-20 17:48:19 UTC
Does 1.15.41 work?

Comment 12 Gwyn Ciesla 2020-04-21 13:09:26 UTC
Looks like this can be closed?

Comment 13 Miro Hrončok 2020-04-21 13:17:23 UTC
Yes, thanks.