Bug 2003441
Summary: | dnf rollback is broken | ||
---|---|---|---|
Product: | [oVirt] otopi | Reporter: | Yedidyah Bar David <didi> |
Component: | Plugins.packagers | Assignee: | Yedidyah Bar David <didi> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Barbora Dolezalova <bdolezal> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 1.9.5 | CC: | bdolezal, bugs, gdeolive |
Target Milestone: | ovirt-4.4.10 | Keywords: | ZStream |
Target Release: | 1.9.6 | Flags: | sbonazzo:
ovirt-4.4+
sbonazzo: devel_ack+ |
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | otopi-1.9.6 | Doc Type: | Bug Fix |
Doc Text: |
Cause:
otopi's 'minidnf.py' was broken due to backwards-incompatible changes in dnf, around transaction rollback.
Consequence:
If engine-setup, used for upgrade, failed, due to some reason, after already upgrading the engine packages, it tried to undo this - to install the previously-installed packages, before the upgrade attempt. This didn't work.
Fix:
otopi was fixed to be compatible with recent dnf.
Result:
If engine-setup fails after upgrading the engine packages, it should now successfully roll back to the packages that were installed prior to the failed upgrade.
doc team: I am not aware of any other program/process that uses this functionality, so it's probably enough to mention engine-setup. So a minimal version should probably be something like:
engine-setup should now successfully roll back upgraded packages if it fails.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2022-02-04 10:28:51 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | Integration | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Yedidyah Bar David
2021-09-12 10:09:08 UTC
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. |