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):
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
Mar 11 11:18:38 student105 rgmanager: [lvm] Failed to activate
logical volume, Cluster/Test
Mar 11 11:18:38 student105 rgmanager: [lvm] Attempting cleanup
Mar 11 11:18:38 student105 rgmanager: [lvm] Failed second
attempt to activate Cluster/Test
Mar 11 11:18:38 student105 rgmanager: start on lvm "testha"
returned 1 (generic error)
Mar 11 11:18:38 student105 rgmanager: #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.
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.
(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
> 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...
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
--> 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
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.