Bug 2243017

Summary: Update of python3-botocore fails with python3-boto3 installed on CentOS Stream 9
Product: [Fedora] Fedora EPEL Reporter: Amélie D <amelie.deltour>
Component: python-boto3Assignee: Carl George 🤠 <carl>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel9CC: carl, cstratak, davdunc, gholms, gwync, lkundrak, me
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-boto3-1.28.62-1.el9.next Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-12-22 03:10:54 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 Amélie D 2023-10-10 09:02:00 UTC
On a CentOS Stream 9 machine with python3-botocore-1.25.10 and python3-boto3-1.22.10 installed from epel.
The dnf update python3-botocore command results in error:

Problem: package python3-boto3-1.22.10-1.el9.noarch from @System requires (python3.9dist(botocore) < 1.26 with python3.9dist(botocore) >= 1.25.10), but none of the providers can be installed
  - cannot install both python3-botocore-1.31.38-1.el9.noarch from appstream and python3-botocore-1.25.10-1.el9.noarch from @System
  - cannot install both python3-botocore-1.25.10-1.el9.noarch from epel and python3-botocore-1.31.38-1.el9.noarch from appstream
  - cannot install the best update candidate for package python3-botocore-1.25.10-1.el9.noarch
  - cannot install the best update candidate for package python3-boto3-1.22.10-1.el9.noarch

Seems that python3-botocore-1.31.38 is available in AppStream and causes the issue.

Comment 1 Carl George 🤠 2023-11-30 00:51:59 UTC
python3-botocore was indeed added to CentOS 9 and is currently at version 1.31.62-1.el9 (see bug 2236795).  When the same change is released with RHEL 9.4, the EPEL python3-botocore package will be retired.  I believe the solution is for the python3-boto3 package to be updated to work with the new python3-botocore.  This will likely need to be done in an epel9-next branch to not disturb the RHEL+EPEL installations of this.  It currently has a ranged dependency on python3-botocore that is causing the above error.

root@c9-container:~# dnf -q repoquery --requires python3-boto3 | grep botocore
(python3.9dist(botocore) < 1.26 with python3.9dist(botocore) >= 1.25.10)

Comment 2 Carl George 🤠 2023-11-30 01:03:35 UTC
From a quick investigation, it looks like these steps need to be taken by a maintainer of this package:

1. request an epel9-next branch
2. fast-forward merge that branch to the 1.28.62 commit from rawhide [0], which is compatible with the version of python3-botocore in CentOS 9 [1]
3. do an epel9-next build and bodhi update
4. when RHEL 9.4 is released, fast-forward merge the epel9 branch to match the epel9-next branch
5. do an epel9 build and bodhi update
6. untag the previous epel9-next build

If needed, I can help with all of the above steps except for the first one.


[0] https://src.fedoraproject.org/rpms/python-boto3/c/4199748bcc5f17f775fcdfba7bcacc2bef254f94?branch=rawhide
[1] https://github.com/boto/boto3/blob/1.28.62/setup.cfg#L6

Comment 3 Carl George 🤠 2023-12-05 23:51:06 UTC
If a maintainer can request the epel9-next branch, I can assist with the build and update as a proven packager.

Comment 4 Gwyn Ciesla 2023-12-06 19:14:28 UTC
Branch requested. Thank you!

Comment 5 Carl George 🤠 2023-12-08 21:17:11 UTC
After creating a build for this, I realized that it will also require an update to python-s3transfer.


root@c9-container:~# dnf install https://kojipkgs.fedoraproject.org//work/tasks/2700/110072700/python3-boto3-1.28.62-1.el9.next.noarch.rpm
Last metadata expiration check: 0:12:38 ago on Fri Dec  8 21:02:05 2023.
python3-boto3-1.28.62-1.el9.next.noarch.rpm                                                                                  405 kB/s | 164 kB     00:00    
Error: 
 Problem: conflicting requests
  - nothing provides (python3.9dist(s3transfer) < 0.8 with python3.9dist(s3transfer) >= 0.7) needed by python3-boto3-1.28.62-1.el9.next.noarch from @commandline
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)


Gwyn, would you mind requesting an epel9-next branch for that package as well?

Comment 6 Gwyn Ciesla 2023-12-08 21:24:34 UTC
Requested.

Comment 7 Fedora Update System 2023-12-13 03:22:28 UTC
FEDORA-EPEL-NEXT-2023-f687651475 has been submitted as an update to Fedora EPEL 9 Next. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-NEXT-2023-f687651475

Comment 8 Fedora Update System 2023-12-14 02:21:02 UTC
FEDORA-EPEL-NEXT-2023-f687651475 has been pushed to the Fedora EPEL 9 Next testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-NEXT-2023-f687651475

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2023-12-22 03:10:54 UTC
FEDORA-EPEL-NEXT-2023-f687651475 has been pushed to the Fedora EPEL 9 Next stable repository.
If problem still persists, please make note of it in this bug report.