Bug 1089229

Summary: strict dependency between lvm2 and device-mapper
Product: Red Hat Enterprise Linux 6 Reporter: Cedric Buissart <cbuissar>
Component: lvm2Assignee: Peter Rajnoha <prajnoha>
lvm2 sub component: Other (RHEL6) QA Contact: Cluster QE <mspqa-list>
Status: CLOSED ERRATA Docs Contact:
Severity: medium    
Priority: unspecified CC: agk, cmarthal, heinzm, jbrassow, msnitzer, nperic, prajnoha, prockai, zkabelac
Version: 6.5   
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: lvm2-2.02.107-1.el6 Doc Type: Bug Fix
Doc Text:
LVM2 and all its subpackages now define strict version dependencies among them so after updating any of these LVM2 subpackages we end up with consistent update of the main LVM2 package too. As there's only one debuginfo package for LVM2 and all its subpackages, this also fixes a problem where we may have ended up with unusable debuginfo if one of the subpackages were updated to a newer version.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-14 08:25:10 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 Cedric Buissart 2014-04-18 10:02:23 UTC
Description of problem:

Since RHEL6, device-mapper packages are merged inside lvm2. However, the dependencies are not strict, and you can end up updating device-mapper without updating lvm2, leading to version mismatch.


Version-Release number of selected component (if applicable):


How reproducible:100%


Steps to Reproduce:
1. yum update device-mapper

Actual results:
lvm2 is not updated to matching version.


Expected results:
my understanding is that both lvm2 and device-mapper should remain to a strict matching version


Additional info:
- That for example becomes an issue when you try to open a coredump that is made for mixed lvm2/device-mapper versions.

- current spec file is requires lvm2 to have "at least" the device-mapper matching version, leading to the ability to update device-mapper without updating its lvm2 counterpart.

Comment 3 Alasdair Kergon 2014-04-18 23:21:47 UTC
To be clear, until RHEL6 we built the packages separately and sometimes did update one without the other.  We should not be breaking compatibility intentionally without updating dependencies accordingly: it should be OK to run different versions of the packages alongside each other provided the spec file dependencies are satisfied.

However, now that we do always build them together, we have decided we don't lose much if we make the spec file stricter than necessary and require exact version matching.

If you're having problems with debuginfo when mixing subpackages taken from different (but compatible) main packages then that would be a separate problem for debuginfo packagers to address.

Comment 6 Nenad Peric 2014-07-14 12:18:29 UTC
--> Running transaction check
---> Package lvm2.x86_64 0:2.02.107-1.el6 will be updated
---> Package lvm2.x86_64 0:2.02.107-2.el6 will be an update
---> Package lvm2-cluster.x86_64 0:2.02.107-1.el6 will be updated
---> Package lvm2-cluster.x86_64 0:2.02.107-2.el6 will be an update
---> Package lvm2-libs.x86_64 0:2.02.107-1.el6 will be updated
---> Package lvm2-libs.x86_64 0:2.02.107-2.el6 will be an update
--> Processing Dependency: device-mapper-event = 1.02.86-2.el6 for package: lvm2-libs-2.02.107-2.el6.x86_64
--> Finished Dependency Resolution
Error: Package: lvm2-libs-2.02.107-2.el6.x86_64 (/lvm2-libs-2.02.107-2.el6.x86_64)
           Requires: device-mapper-event = 1.02.86-2.el6

The similar message gets printed out when the packages are added one by one, asking for further device-mapper dependencies following the stricter dependency rules as suggested.

Finally this passed:

yum update lvm2-2.02.107-2.el6.x86_64.rpm lvm2-libs-2.02.107-2.el6.x86_64.rpm lvm2-cluster-2.02.107-2.el6.x86_64.rpm device-mapper-event-1.02.86-2.el6.x86_64.rpm device-mapper-1.02.86-2.el6.x86_64.rpm device-mapper-libs-1.02.86-2.el6.x86_64.rpm device-mapper-event-libs-1.02.86-2.el6.x86_64.rpm cmirror-2.02.107-2.el6.x86_64.rpm 

all of the dependencies were met. 

Marking this one as VERIFIED with:

lvm2-2.02.107-2.el6    BUILT: Fri Jul 11 15:47:33 CEST 2014
lvm2-libs-2.02.107-2.el6    BUILT: Fri Jul 11 15:47:33 CEST 2014
lvm2-cluster-2.02.107-2.el6    BUILT: Fri Jul 11 15:47:33 CEST 2014
udev-147-2.55.el6    BUILT: Wed Jun 18 13:30:21 CEST 2014
device-mapper-1.02.86-2.el6    BUILT: Fri Jul 11 15:47:33 CEST 2014
device-mapper-libs-1.02.86-2.el6    BUILT: Fri Jul 11 15:47:33 CEST 2014
device-mapper-event-1.02.86-2.el6    BUILT: Fri Jul 11 15:47:33 CEST 2014
device-mapper-event-libs-1.02.86-2.el6    BUILT: Fri Jul 11 15:47:33 CEST 2014
device-mapper-persistent-data-0.3.2-1.el6    BUILT: Fri Apr  4 15:43:06 CEST 2014
cmirror-2.02.107-2.el6    BUILT: Fri Jul 11 15:47:33 CEST 2014

Comment 7 errata-xmlrpc 2014-10-14 08:25:10 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-1387.html