Description of problem: See bug 1542492 comment 2. Decided to split it into a separate (current) bug, dealing only with missing dnf method open_history. If e.g. 'engine-setup' fails, due to some other reason, after successfully upgrading engine packages, it tries to rollback the main transaction, including the part of dnf, but fails with something like: [INFO] DNF Performing DNF transaction rollback [ERROR] DNF module 'dnf.history' has no attribute 'open_history' Was reported at: https://lists.ovirt.org/archives/list/users@ovirt.org/thread/EZJTUOHNHKT7YBO222QVLA5VVBXCXZFD/ Version-Release number of selected component (if applicable): I think since dnf-3 release How reproducible: Always Steps to Reproduce: See above for a realistic flow. A minimal one is something like this. I picked 'jose' as a simple example - can use any installable-but-not-installed package: 1. dnf install otopi-debug-plugins 2. dnf remove -y jose 3. OTOPI_FORCE_FAIL_STAGE=STAGE_MISC otopi ODEBUG/packagesAction=str:install ODEBUG/packages=str:jose Actual results: Installs 'jose', fails, leaves it installed Expected results: Installs jose, fails, then successfully removes 'jose' Additional info:
Daniel, please review [1]. Thanks. Perhaps you want to make this easier via the official dnf api - exposing '_revert_transaction' or probably higher level. [1] https://gerrit.ovirt.org/116476
The documentation text flag should only be set after 'doc text' field is provided. Please provide the documentation text and set the flag to '?' again.
Moving back to POST because I have to cherry-pick changes to 4.4 branch.
Moving to 4.4.10 due to QE capacity.
Verified in otopi-common-1.9.6-2.el8ev.noarch I used these combinations for verification and after every try I checked the logs and the version of the engine and if the services are not broken. The rollback was successful. OTOPI_FORCE_FAIL_STAGE=STAGE_EARLY_MISC OTOPI_FORCE_FAIL_PRIORITY=PRIORITY_LOW engine-setup OTOPI_FORCE_FAIL_STAGE=STAGE_MISC OTOPI_FORCE_FAIL_PRIORITY=PRIORITY_HIGH engine-setup OTOPI_FORCE_FAIL_STAGE=STAGE_MISC OTOPI_FORCE_FAIL_PRIORITY=PRIORITY_DEFAULT engine-setup OTOPI_FORCE_FAIL_STAGE=STAGE_MISC OTOPI_FORCE_FAIL_PRIORITY=PRIORITY_LOW engine-setup
Can you please provide more details about your verification flow? It should be something like: 1. Install and setup an older engine (say, 4.4.9) 2. Add 4.4.10 repos 3. Update setup packages, including otopi 4. Run one of your commands from comment 6 You should see something like: [INFO] DNF Performing DNF transaction rollback And then see that it actually downgrades packages. Thanks!
Yes. That were the exact steps I understood from the linked community issue. If that was wrong, please specify correct verification steps.
Thanks, looks good to me.