Bug 2322527 - dnf5 offline reboot fails during system upgrade to F41: python3-fedmsg-1.1.7-6.fc40.noarch requires python3.12dist(arrow)
Summary: dnf5 offline reboot fails during system upgrade to F41: python3-fedmsg-1.1.7-...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf5
Version: 41
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Marek Blaha
QA Contact:
URL:
Whiteboard:
Depends On: 2302853
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-10-29 19:07 UTC by Gerald Cox
Modified: 2024-11-30 06:33 UTC (History)
11 users (show)

Fixed In Version: fedora-obsolete-packages-41-11
Clone Of:
Environment:
Last Closed: 2024-11-29 19:29:56 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
offline upgrade log (224.47 KB, text/plain)
2024-10-29 19:08 UTC, Gerald Cox
no flags Details

Description Gerald Cox 2024-10-29 19:07:29 UTC
I've tried both dnf5 system-upgrade reboot and dnf5 offline reboot and the log shows the same error:

charon dnf5[991]: Warning: the `_execute` command is for internal use only and is not intended to be run directly by the user. To initiate the system upgrade/offline transaction, you should run `dnf5 offline reboot`.

dnf5 offline status shows:
dnf5 offline status
An offline transaction was started, but it did not finish. Run `dnf5 offline log` for more information. The command that initiated the transaction was:
        dnf5 system-upgrade download --releasever=41



Reproducible: Always

Steps to Reproduce:
1. dnf5 system-upgrade download --releasever=41
2. dnf5 offline reboot

Actual Results:  
system reboots without upgrade

Expected Results:  
system upgrades

I've attached the entire log file where the problem occurs.

Comment 1 Gerald Cox 2024-10-29 19:08:57 UTC
Created attachment 2054276 [details]
offline upgrade log

Comment 2 Michael J Gruber 2024-10-29 19:24:15 UTC
We tell people to use "dnf" for the upgrade, and on F40 dnf == dnf4. Using dnf5 for this is not supported.

That will be different when you upgrade from F41, of course.

Comment 3 Gerald Cox 2024-10-29 19:39:17 UTC
Sorry, I just noticed that the error above didn't abort the upgrade.  Appears there was some type of failure in the test transaction that didn't identify a conflict.

Oct 29 11:51:40 charon dnf5[991]: Failed to resolve transaction. This indicates some bigger problem, since the offline transaction was already successfully resolved before. Was the cache at "/usr/lib/sysimage/libdnf5/offline" modified?
Oct 29 11:51:40 charon dnf5[991]: Failed to resolve the transaction:
Oct 29 11:51:40 charon dnf5[991]: Problem 1: cannot install both python3-arrow-1.2.3-9.fc41.noarch from @stored_transaction and python3-arrow-1.2.3-7.fc40.noarch from @System
Oct 29 11:51:40 charon dnf5[991]:   - installed package python3-fedmsg-1.1.7-6.fc40.noarch requires python3.12dist(arrow), but none of the providers can be installed
Oct 29 11:51:40 charon dnf5[991]:   - conflicting requests
Oct 29 11:51:40 charon dnf5[991]:   - problem with installed package
Oct 29 11:51:40 charon dnf5[991]:  Problem 2: cannot install both python3-attrs-24.2.0-1.fc41.noarch from @stored_transaction and python3-attrs-23.2.0-4.fc40.noarch from @System
Oct 29 11:51:40 charon dnf5[991]:   - installed package fedmod-0.6.6-5.fc40.noarch requires python3.12dist(attrs), but none of the providers can be installed
Oct 29 11:51:40 charon dnf5[991]:   - conflicting requests
Oct 29 11:51:40 charon dnf5[991]:   - problem with installed package
Oct 29 11:51:40 charon dnf5[991]:  Problem 3: cannot install both python3-celery-5.3.6-5.fc41.noarch from @stored_transaction and python3-celery-5.3.6-3.fc40.noarch from @System
Oct 29 11:51:40 charon dnf5[991]:   - installed package module-build-service-3.9.2-9.fc40.noarch requires python3.12dist(celery), but none of the providers can be installed
Oct 29 11:51:40 charon dnf5[991]:   - conflicting requests
Oct 29 11:51:40 charon dnf5[991]:   - problem with installed package
Oct 29 11:51:40 charon dnf5[991]:  Problem 4: cannot install both python3-requests-2.32.3-3.fc41.noarch from @stored_transaction and python3-requests-2.31.0-3.fc40.noarch from @System
Oct 29 11:51:40 charon dnf5[991]:   - installed package python3-twitter-3.5-18.fc39.noarch requires python3.12dist(requests), but none of the providers can be installed
Oct 29 11:51:40 charon dnf5[991]:   - conflicting requests
Oct 29 11:51:40 charon dnf5[991]:   - problem with installed package
Oct 29 11:51:40 charon dnf5[991]:  Problem 5: cannot install both python3-3.13.0-1.fc41.x86_64 from @stored_transaction and python3-3.12.7-1.fc40.x86_64 from @System
Oct 29 11:51:40 charon dnf5[991]:   - installed package python3-future-0.18.3-10.fc40.noarch requires python(abi) = 3.12, but none of the providers can be installed
Oct 29 11:51:40 charon dnf5[991]:   - conflicting requests
Oct 29 11:51:40 charon dnf5[991]:   - problem with installed package
Oct 29 11:51:40 charon dnf5[991]:  Problem 6: installed package python3-3.12.7-1.fc40.x86_64 conflicts with python3 < 3.13.0-1.fc41 provided by python3-devel-3.13.0-1.fc41.x86_64 from @stored_transaction
Oct 29 11:51:40 charon dnf5[991]:   - installed package python3-smartcols-0.3.0-20.fc39.x86_64 requires python(abi) = 3.12, but none of the providers can be installed
Oct 29 11:51:40 charon dnf5[991]:   - conflicting requests
Oct 29 11:51:40 charon dnf5[991]:   - problem with installed package
Oct 29 11:51:40 charon systemd[1]: dnf5-offline-transaction.service: Main process exited, code=exited, status=1/FAILURE
Oct 29 11:51:40 charon systemd[1]: dnf5-offline-transaction.service: Failed with result 'exit-code'.

Comment 4 Petr Pisar 2024-10-30 07:59:09 UTC
python3-fedmsg was removed from Fedora and does not exist in Fedora 41 (bug #2291518). It blocks your upgrade because Fedora 40's python3-fedmsg is built against old python which does not exist in Fedora 41. The package was obsoleted in fedora-obsolete-packages-41-11. In repositories since 2024-10-18. Maybe your Fedora mirror is not up-to-date. Please try again. It should have already been resolved.

The fedmod, future, module-build-service, python-twitter, and smartcols are the same case.

Comment 5 Marek Blaha 2024-10-30 10:21:51 UTC
Actually, there is (quite serious) issue with dnf5 offline transactions. Basically it incorrectly parses stored transaction JSON resulting in incorrect transaction - in this case removal of python3-twitter-3.5-18.fc39.noarch and python3-future-0.18.3-10.fc40.noarch actions were skipped, and thus the transaction resolution failed.
The fix is on the way, thanks for reporting this.

I've also filed a new upstream issue for the misleading `charon dnf5[991]: Warning: the `_execute` command is...` warning: https://github.com/rpm-software-management/dnf5/issues/1806

Comment 6 Marek Blaha 2024-10-30 10:39:27 UTC
Here is the fix for offline transaction JSON parser, that resolves the issue: https://github.com/rpm-software-management/dnf5/pull/1807

Meanwhile, as a workaround, you can manually remove python3-twitter and python3-future packages, which are no longer available in Fedora.

Comment 7 Miro Hrončok 2024-10-30 12:40:16 UTC
(In reply to Petr Pisar from comment #4)
> python3-fedmsg was removed from Fedora and does not exist in Fedora 41 (bug
> #2291518). It blocks your upgrade because Fedora 40's python3-fedmsg is
> built against old python which does not exist in Fedora 41. The package was
> obsoleted in fedora-obsolete-packages-41-11. In repositories since
> 2024-10-18. Maybe your Fedora mirror is not up-to-date. Please try again. It
> should have already been resolved.
> 
> The fedmod, future, module-build-service, python-twitter, and smartcols are
> the same case.

This is all fixed via bz2302853.

Comment 8 Gerald Cox 2024-10-30 16:22:34 UTC
(In reply to Petr Pisar from comment #4)
> python3-fedmsg was removed from Fedora and does not exist in Fedora 41 (bug
> #2291518). It blocks your upgrade because Fedora 40's python3-fedmsg is
> built against old python which does not exist in Fedora 41. The package was
> obsoleted in fedora-obsolete-packages-41-11. In repositories since
> 2024-10-18. Maybe your Fedora mirror is not up-to-date. Please try again. It
> should have already been resolved.
> 
> The fedmod, future, module-build-service, python-twitter, and smartcols are
> the same case.

@Petr Thanks for the quick response.  I just tried again (October 30, 9:20 PDT) and still failing with
the same messages.  I'll keep trying from time to time.  

@Marek Thanks for filing a bug against the _execute message.  You're right, I was absolutely confused by it.  ;-)

Comment 9 Gerald Cox 2024-10-30 16:24:56 UTC
(In reply to Michael J Gruber from comment #2)
> We tell people to use "dnf" for the upgrade, and on F40 dnf == dnf4. Using
> dnf5 for this is not supported.
> 
> That will be different when you upgrade from F41, of course.

@Michael, yes, I understand it is in testing for F40.  I just wanted to try it and see if there 
were any outstanding issues.  I've been testing DNF5 since F39 and reporting issues as I've 
encountered.

Comment 10 Gerald Cox 2024-11-01 03:20:06 UTC
Latest updates appear to have fixed the issue.  I was able to upgrade to F41 using DNF5.
Thanks for the fast response!


Note You need to log in before you can comment on or make changes to this bug.