Bug 1084157 - Incompatible versions of lvm2 cluster can be installed at the same time
Summary: Incompatible versions of lvm2 cluster can be installed at the same time
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: lvm2
Version: 6.6
Hardware: Unspecified
OS: Linux
unspecified
low
Target Milestone: rc
: ---
Assignee: Peter Rajnoha
QA Contact: Cluster QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-03 17:36 UTC by Jesse Triplett
Modified: 2018-12-09 17:42 UTC (History)
8 users (show)

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 amongst themselves, including a dependency between the lvm2-cluster subpackage and the lvm2 package. This way the lvm2-cluster subpackage always depends on the right lvm2 package.
Clone Of:
Environment:
Last Closed: 2014-10-14 08:25:02 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2014:1387 0 normal SHIPPED_LIVE lvm2 bug fix and enhancement update 2014-10-14 01:39:47 UTC

Description Jesse Triplett 2014-04-03 17:36:07 UTC
Description of problem:
The lvm2-cluster sub package (and probably others) have a require of >= version but do not work unless they are the exact same version.  RPMs should be configured with sub packages requiring the exact version of the main package not >= because of this issue.

If you install version x of lvm2 and install version x-1 of lvm2-cluster you will see that lvm2-cluster does not work correctly and you can't use lvm2 inside a cluster.

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

How reproducible:
This is what I have from my support tech that has the issue.
1) built a cluster with 2.02.83-3.el6 installed
2) disabled test-svc
3) "yum update lvm2" which updated lvm2 and lvm2-libs
4) "service clvmd restart"

It fails to start because it can't gain an exclusive lock:

 [root@student105 ~]# clusvcadm -e test-svc
 Local machine trying to enable service:test-svc...Failure

 [root@student105 ~]# rpm -qa | grep ^lvm2 | sort
 lvm2-2.02.98-9.el6_4.3.x86_64
 lvm2-cluster-2.02.83-3.el6.x86_64
 lvm2-libs-2.02.98-9.el6_4.3.x86_64

 Mar 11 11:18:38 student105 rgmanager[10062]: [lvm] Failed to activate
logical volume, Cluster/Test
 Mar 11 11:18:38 student105 rgmanager[10084]: [lvm] Attempting cleanup
of Cluster/Test
 Mar 11 11:18:38 student105 rgmanager[10111]: [lvm] Failed second
attempt to activate Cluster/Test
 Mar 11 11:18:38 student105 rgmanager[1338]: start on lvm "testha"
returned 1 (generic error)
 Mar 11 11:18:38 student105 rgmanager[1338]: #68: Failed to start
service:test-svc; return value: 1

If we upgrade lvm2-cluster and restart clvmd that will fix the problem.
I have left it in the broken state for you.

Note this is an HA-LVM configuration.  This would never happen if the sub package required the same version as the main package.

Comment 2 Alasdair Kergon 2014-04-03 22:30:00 UTC
We'll think about how to deal with this and whether or not we do still need to allow people to combine different versions.  (Normally they are compatible.)
Any fix would apply from RHEL6.6 and RHEL7.1 onwards.

Comment 3 Peter Rajnoha 2014-04-09 09:06:24 UTC
(In reply to Alasdair Kergon from comment #2)
> We'll think about how to deal with this and whether or not we do still need
> to allow people to combine different versions.  (Normally they are
> compatible.)
> Any fix would apply from RHEL6.6 and RHEL7.1 onwards.

I'd probably go with a firm dependency on exact version. What is the disadvantage? The only one I see at the moment is that clvmd is restarted on package upgrade. But that should be working...

Comment 8 Nenad Peric 2014-07-14 13:53:49 UTC
Hard dependencies are being enforced. 
As tested in Bug #1089229 (dependencies with device-mapper).

root@virt-122 ~]# yum update lvm2-2.02.107-2.el6.x86_64.rpm 
Loaded plugins: product-id, security, subscription-manager
Setting up Update Process
Examining lvm2-2.02.107-2.el6.x86_64.rpm: lvm2-2.02.107-2.el6.x86_64
Marking lvm2-2.02.107-2.el6.x86_64.rpm as an update to lvm2-2.02.107-1.el6.x86_64
Resolving Dependencies
--> Running transaction check
---> Package lvm2.x86_64 0:2.02.107-1.el6 will be updated
--> Processing Dependency: lvm2 = 2.02.107-1.el6 for package: lvm2-cluster-2.02.107-1.el6.x86_64
---> Package lvm2.x86_64 0:2.02.107-2.el6 will be an update
--> Processing Dependency: lvm2-libs = 2.02.107-2.el6 for package: lvm2-2.02.107-2.el6.x86_64
--> Finished Dependency Resolution
Error: Package: lvm2-cluster-2.02.107-1.el6.x86_64 (@beaker-ResilientStorage/6.6)
           Requires: lvm2 = 2.02.107-1.el6
           Removing: lvm2-2.02.107-1.el6.x86_64 (@anaconda-RedHatEnterpriseLinux-201407102225.x86_64/6.6)
               lvm2 = 2.02.107-1.el6
           Updated By: lvm2-2.02.107-2.el6.x86_64 (/lvm2-2.02.107-2.el6.x86_64)
               lvm2 = 2.02.107-2.el6
Error: Package: lvm2-2.02.107-2.el6.x86_64 (/lvm2-2.02.107-2.el6.x86_64)
           Requires: lvm2-libs = 2.02.107-2.el6
           Installed: lvm2-libs-2.02.107-1.el6.x86_64 (@anaconda-RedHatEnterpriseLinux-201407102225.x86_64/6.6)
               lvm2-libs = 2.02.107-1.el6
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest


Marking 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

Comment 9 errata-xmlrpc 2014-10-14 08:25:02 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


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