RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1574572 - Upgrading kmod-kvdo rpm can lead to having different versions installed
Summary: Upgrading kmod-kvdo rpm can lead to having different versions installed
Keywords:
Status: CLOSED DUPLICATE of bug 1553420
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: kmod-kvdo
Version: 7.5
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Joseph Chapman
QA Contact: Jakub Krysl
URL:
Whiteboard:
: 1578218 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-05-03 14:55 UTC by Jakub Krysl
Modified: 2024-01-29 17:09 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-09-26 20:23:36 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Jakub Krysl 2018-05-03 14:55:58 UTC
Description of problem:
When upgrading kmod-kvdo rpm with running vod (kvdo module in use), the result is have both version installed. This is because the old version is not removed as the module is still loaded, but the new version gets installed.

# yum install http://******/brewroot/packages/kmod-kvdo/6.1.0.168/16.el7_5/x86_64/kmod-kvdo-6.1.0.168-16.el7_5.x86_64.rpm -y
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
kmod-kvdo-6.1.0.168-16.el7_5.x86_64.rpm                                                                                                                                                     | 346 kB  00:00:00
Examining /var/tmp/yum-root-nRIoIP/kmod-kvdo-6.1.0.168-16.el7_5.x86_64.rpm: kmod-kvdo-6.1.0.168-16.el7_5.x86_64
Marking /var/tmp/yum-root-nRIoIP/kmod-kvdo-6.1.0.168-16.el7_5.x86_64.rpm as an update to kmod-kvdo-6.1.0.153-15.el7.x86_64
Resolving Dependencies
--> Running transaction check
---> Package kmod-kvdo.x86_64 0:6.1.0.153-15.el7 will be updated
---> Package kmod-kvdo.x86_64 0:6.1.0.168-16.el7_5 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================================================================================================================================================
 Package                                   Arch                                   Version                                               Repository                                                            Size
===================================================================================================================================================================================================================
Updating:
 kmod-kvdo                                 x86_64                                 6.1.0.168-16.el7_5                                    /kmod-kvdo-6.1.0.168-16.el7_5.x86_64                                 1.3 M

Transaction Summary
===================================================================================================================================================================================================================
Upgrade  1 Package

Total size: 1.3 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : kmod-kvdo-6.1.0.168-16.el7_5.x86_64                                                                                                                                                             1/2
modprobe: FATAL: Module kvdo is in use.
modprobe: FATAL: Module uds is in use.
error: %preun(kmod-kvdo-6.1.0.153-15.el7.x86_64) scriptlet failed, exit status 1
Error in PREUN scriptlet in rpm package kmod-kvdo-6.1.0.153-15.el7.x86_64
error: kmod-kvdo-6.1.0.153-15.el7.x86_64: erase failed
  Verifying  : kmod-kvdo-6.1.0.168-16.el7_5.x86_64                                                                                                                                                             1/2
  Verifying  : kmod-kvdo-6.1.0.153-15.el7.x86_64                                                                                                                                                               2/2

Updated:
  kmod-kvdo.x86_64 0:6.1.0.168-16.el7_5

Failed:
  kmod-kvdo.x86_64 0:6.1.0.153-15.el7

Complete!
# yum info kmod-kvdo
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Installed Packages
Name        : kmod-kvdo
Arch        : x86_64
Version     : 6.1.0.153
Release     : 15.el7
Size        : 1.3 M
Repo        : installed
From repo   : rhel
Summary     : Kernel Modules for Virtual Data Optimizer
URL         : http://github.com/dm-vdo/kvdo
License     : GPLv2+
Description : Virtual Data Optimizer (VDO) is a device mapper target that delivers
            : block-level deduplication, compression, and thin provisioning.
            :
            : This package provides the kernel modules for VDO.

Name        : kmod-kvdo
Arch        : x86_64
Version     : 6.1.0.168
Release     : 16.el7_5
Size        : 1.3 M
Repo        : installed
Summary     : Kernel Modules for Virtual Data Optimizer
URL         : http://github.com/dm-vdo/kvdo
License     : GPLv2+
Description : Virtual Data Optimizer (VDO) is a device mapper target that delivers
            : block-level deduplication, compression, and thin provisioning.
            :
            : This package provides the kernel modules for VDO.

This confuses yum as it thinks the old version is the one installed, so for example trying to update it again leads to conflict errors in transaction check:
# yum install http://*****/brewroot/packages/kmod-kvdo/6.1.0.168/16.el7_5/x86_64/kmod-kvdo-6.1.0.168-16.el7_5.x86_64.rpm -y
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
kmod-kvdo-6.1.0.168-16.el7_5.x86_64.rpm                                                                                                                                                     | 346 kB  00:00:00
Examining /var/tmp/yum-root-nRIoIP/kmod-kvdo-6.1.0.168-16.el7_5.x86_64.rpm: kmod-kvdo-6.1.0.168-16.el7_5.x86_64
Marking /var/tmp/yum-root-nRIoIP/kmod-kvdo-6.1.0.168-16.el7_5.x86_64.rpm as an update to kmod-kvdo-6.1.0.153-15.el7.x86_64
/var/tmp/yum-root-nRIoIP/kmod-kvdo-6.1.0.168-16.el7_5.x86_64.rpm: does not update installed package.
Resolving Dependencies
--> Running transaction check
---> Package kmod-kvdo.x86_64 0:6.1.0.153-15.el7 will be updated
---> Package kmod-kvdo.x86_64 0:6.1.0.168-16.el7_5 will be an update
---> Package kmod-kvdo.x86_64 0:6.1.0.168-16.el7_5 will be updated
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================================================================================================================================================
 Package                                   Arch                                   Version                                               Repository                                                            Size
===================================================================================================================================================================================================================
Updating:
 kmod-kvdo                                 x86_64                                 6.1.0.168-16.el7_5                                    /kmod-kvdo-6.1.0.168-16.el7_5.x86_64                                 1.3 M

Transaction Summary
===================================================================================================================================================================================================================
Upgrade  1 Package

Total size: 1.3 M
Downloading packages:
Running transaction check
ERROR with transaction check vs depsolve:
kmod-kvdo conflicts with kmod-kvdo-6.1.0.168-16.el7_5.x86_64
kmod-kvdo conflicts with (installed) kmod-kvdo-6.1.0.168-16.el7_5.x86_64
** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows:
kmod-kvdo-6.1.0.153-15.el7.x86_64 has installed conflicts kmod-kvdo: kmod-kvdo-6.1.0.168-16.el7_5.x86_64
kmod-kvdo-6.1.0.168-16.el7_5.x86_64 has installed conflicts kmod-kvdo: kmod-kvdo-6.1.0.153-15.el7.x86_64
kmod-kvdo-6.1.0.168-16.el7_5.x86_64 is a duplicate with kmod-kvdo-6.1.0.153-15.el7.x86_64
Your transaction was saved, rerun it with:
 yum load-transaction /tmp/yum_save_tx.2018-05-03.10-48.grVJHd.yumtx

Version-Release number of selected component (if applicable):
kmod-kvdo-6.1.0.153-15.el7.x86_64 and kmod-kvdo-6.1.0.168-16.el7_5.x86_64

Also the loaded module is 6.1.0.153 and even sequence: removing all running VDOs, rmmod kvdo, depmod -a, modprobe kvdo and modinfo kvdo returns the old version (6.1.0.153). To be able to load the new version with 'modprobe kvdo' user has to specifically remove the old version of the package.

How reproducible:
100%

Steps to Reproduce:
1. yum install kmod-kvdo-OLD
2. vdo create --name vdo --device device
3. yum install kmod-kvdo-NEW

Actual results:
both kmod-kvdo-OLD and kmod-kvdo-NEW are installed
yum info reports both versions
yum install kmod-kvdo-OLD reports the old as newest
yum install kmod-kvdo-NEW tries to update it again
old version is still loading into kernel as long as the old package is installed

Expected results:
probably fail to install the update when the updated package is not removed as the new module cannot be easily loaded anyway as long as the old package is there.

Additional info:

Comment 2 Joseph Chapman 2018-09-04 16:39:41 UTC
This is due to a bug in yum and I've been unable to find a workaround.

Comment 3 Jakub Krysl 2018-09-05 08:58:27 UTC
(In reply to Joseph Chapman from comment #2)
> This is due to a bug in yum and I've been unable to find a workaround.

I think the fix to this is described in BZ 1553420, please have look.

Comment 4 Andy Walsh 2018-09-26 20:20:14 UTC
*** Bug 1578218 has been marked as a duplicate of this bug. ***

Comment 5 Andy Walsh 2018-09-26 20:23:36 UTC
This is resolved via the resolution for BZ1553420.

Despite having a different condition, I am closing this as a duplicate of that bug so that these can be linked.

*** This bug has been marked as a duplicate of bug 1553420 ***

Comment 7 dj 2024-01-11 20:02:47 UTC
Answerfile has been generated at /var/log/leapp/answerfile
[root@localhost ~]# sudo dnf check
kmod-kvdo-6.1.3.23-5.el7.x86_64 has installed conflict "kmod-kvdo": kmod-kvdo-6.1.3.23-5.el7.x86_64

I am trying to upgrade centos 7 to rocky Linex 8 but get this error message above.
What is the workaround?
Thanks

Comment 8 Andy Walsh 2024-01-29 17:09:11 UTC
hi @dennis.charipar, We don't have any way to fix this, as noted in Comment#2.  Though the issue in Comment#3 shows that we added some output to indicate when there are reasons to prevent the removal of one version of kmod-kvdo for the next.  Make sure that if you have a VDO volume on the system that you've unmounted and stopped any of the volumes before proceeding.  If that doesn't work, then I don't believe we have a known fix for what you're seeing.

All that being said, a workaround to this particular issue can be to just uninstall kmod-kvdo prior to performing the upgrade and then re-install it when you're finished.

Comment 9 Andy Walsh 2024-01-29 17:09:40 UTC
Did not intend to tag you for needinfo.  Apologies.


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