View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0016939||CentOS-8||dlm||public||2020-01-17 00:08||2020-08-25 23:10|
|Summary||0016939: dlm package missing from repo|
|Description||The Distributed Lock Manager (dlm) package that was part of the base os in V7.7 appears to now be a part of the upstream Resilient Storage suite. Sadly, This package is missing from the current distributions 8.0 and 8.1. I've checked various mirrors, and can not find this package, while its sister package dlm-libs is present.|
This package is needed for the proper functioning of a number of "cluster" applications like GFS2 and clvm.
Thank you guys for all the great work and all the recent HA packages. Please let me know if I can assist in any way.
|Steps To Reproduce||[root@vmhost01 ~]# dnf whatprovides dlm|
Last metadata expiration check: 1:38:00 ago on Thu 16 Jan 2020 05:17:54 PM EST.
Error: No Matches found
Any news about this?. For people like us that uses GFS and clvm, the severity is high.
Thanks very much.
|Could this package be added to the HighAvailability repo? Isn't this a dependency for the pcs package?|
|This also effects me greatly, and saddens me that there's been no change or update to this bug.|
The `dlm` package is required for using `lvmlockd` (the new replacement for clvmd) with shared LVM volumes and GFS2 per Red Hat documentation and the lvmlockd man page:
Additionally, it's possible to use shared (exclusively activated) LVM filesystems without GFS2 in the Pacemaker cluster as a use case; the resource control script is owned by the Pacemaker package and it's what runs the "dlm_controld" process which is in the dlm RPM file (not dlm-lib):
# rpm -qf /usr/lib/ocf/resource.d/pacemaker/controld
# rpm -qf /usr/sbin/dlm_controld
We need the `dlm` package in the CentOS channels as it is with real RHEL, it's required for specific use cases - it provides `dlm_controld` and `dlm_tool` binaries amongst others. It's not marked as a hard dependency from the `lvm2-lockd` RPM as the new lvmlockd solution _can_ work with an alternate mode called "sanlock" (see man page) but this is not used in Pacemaker/corosync - DLM is used and requires dlm_controld under the hood.
|I am sorry .. that package is not in RHEL .. we have released what is in RHEL .. I don't have permission to release things in other repositories.|
|What repo is it in then? It certainly isn't EPEL, and it most definitely was in RHEL 7's repo...|
Hi Johnny, I just lost everything I typed due to this bug tracker timing out the session on me, so I'll cut to the last part I wrote - in RHEL7 and RHEL8 both, the dlm package is in the Resilient Storage child channel.
CentOS 7 published the dlm package in the main repos: https://mirrors.edge.kernel.org/centos/7/os/x86_64/Packages/
...so what's changed with CentOS 8 legal posturing, and should you go back and strip it out of CentOS 7? It's in the exact same location upstream in RHEL. This is a critical-path package required for some of us to set up Pacemaker clusters and is a must-have, not a nice-to-have.
BTW - all the Pacemaker packages are in High Availability in real RHEL, a sister channel to Resilient Storage (same design pattern) - and CentOS 8 is publishing all of them. By this logic, why does the CentOS 8 HighAvailability child channel exist, shouldn't everything in it be following the stated reason DLM is not provided?
Everything in there is in a child channel in real RHEL, not Base/Appstream.
I'd also note here that Koji is building DLM and it's publicly available with a simple curl/wget:
We have to do this because the child package `dlm-lib` is in Base/Appstream.
It's also worth noting that both dlm & dlm-lib are built from the same source package - which you have definitely published at http://vault.centos.org/8.1.1911/BaseOS/Source/SPackages/dlm-4.0.9-3.el8.src.rpm
The only difference between the RHEL 8 Resilient Storage and High Availability channels is the presence of the cmirror and dlm packages in Resilient Storage
cmirror is part of the lvm2 source, which is published at http://vault.centos.org/8.1.1911/BaseOS/Source/SPackages/lvm2-2.03.05-5.el8.0.1.src.rpm (and you can see it built at https://koji.mbox.centos.org/koji/buildinfo?buildID=6249)
As already stated - dlm is a prerequisite for running GFS2 filesystems: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_high_availability_clusters/assembly_configuring-gfs2-in-a-cluster-configuring-and-managing-high-availability-clusters
It would be very helpful to get both the missing packages from Resilient Storage into CentOS - particularly as they both apparently are being built already
|Is this a larger problem then in that CentOS is only providing *some* channels? Are there others besides Resilient Storage that need to be published as well?|
@jdshewey - an interesting question, but out of scope for this exact issue. (trying to keep it on point here)
@JohnnyHughes - I opened Red Hat case #02615186 to bring attention to this issue, and have been informed (verbatim cut/paste):
"I have seen that "JohnnyHughes" had replied you in the CentOS bug that, this package was not part of RHEL so they can include it in CentOS. So you might be able to mention there that this package is infact part of a RedHat repository and then CentOS members should be able to take a look into it again possibly."
I would like to therefore request the CentOS packaging/build team re-examine the missing DLM package and inject it into the repositories, it is not encumbered by the vendor.
I'm in the same situation as @troyengel, i would need `dlm` for setting up a cluster with `lvmlockd`. This is effectively impossible using CentOS 8, except by building the package from source (which i think should not be done for a long running deployment as it might make future updates more difficult).
@ JohnnyHughes Are there any news on why the package is currently not included? As far as @troyengel said, RedHat stated that the package indeed is in RHEL, and it also seems that it is also built by koji, which makes me not understand why it would be missing in the first place.
Since this also prevents a rather common use case for CentOS (as far as i see it though), deploying a cluster which typically need shared storage, i feel intrigued to ask why this issue has such a low priority?
|I agree with @them's comment. But since I am just a consumer without contributing efforts at all. I can only wish this ticket has higher priority|
Tested again with recent release of CentOS 8.2, still not available.
I also noticed that the dlm-lib package apparently had not seen a rebuild for a long time either (, since 2019-12-05 14:42).
We built the package with copr successfully, but just keep wondering why it wouldn't be included by default?
Looks like part of the problem was `Resilient Storage` wasn't defined as a variant like `High Availability`.
Here's the package entry for `dlm` in the group `resilient-storage`:
That group isn't a member of any of the variants nor other groups.
The variants definitions seem to be over in: https://git.centos.org/centos/pungi-centos/blob/centos-8.2.2004/f/variants.xml#_250
It might make sense just to just add `<group default="true">resilient-storage</group>` to `HighAvailability`'s variant rather than setup the new repo.
Adding it as a new repo looks like at least a couple more references would need to be chased down to include like around:
https://git.centos.org/centos/pungi-centos/blob/centos-8.2.2004/f/c8.conf#_146 and https://git.centos.org/rpms/centos-release/c/2e317d87e3713a007745cd381bbb4afe4ce70ec8?branch=c8
I think CentOS 7 had it included since there's several references to the group `dlm` is in over in https://git.centos.org/centos/comps/blob/master/f/c7-x86_64-comps.xml#_6025 to pull it in.
Thanks for the information, @chder!
If I understand you correctly, the package is/might be already building, but just is not included in a repository (e.g.: High Availabilty).
It seems that this might be a rather small change, as the suggested fixes seems very small.
Missing the experience with CentOS workflow:
Who would need to implement that change?
Can it be done by anyone and submited as pull request somewhere?
Would that change need to wait for Centos 8.3 release to come into effect or would it appear in Centos 8.2?
@JohnnyHughes, sorry to pester you with questions, would you be able to look at this again with the information provided in the previous post?
Here's a relevant post by @bstinson on the centos-devel mailing list:
|2020-01-17 00:08||captainblie||New Issue|
|2020-01-17 00:08||captainblie||Tag Attached: dlm|
|2020-01-17 00:08||captainblie||Tag Attached: packaging|
|2020-02-13 15:59||tizo||Note Added: 0036285|
|2020-03-06 17:28||jdshewey||Note Added: 0036473|
|2020-03-23 12:21||fobriste||Note Added: 0036547|
|2020-03-23 16:49||troyengel||Note Added: 0036552|
|2020-03-24 17:32||JohnnyHughes||Note Added: 0036569|
|2020-03-24 17:54||jdshewey||Note Added: 0036570|
|2020-03-24 18:33||troyengel||Note Added: 0036571|
|2020-03-24 18:52||troyengel||Note Added: 0036572|
|2020-03-24 21:40||paulwhitaker||Note Added: 0036573|
|2020-03-24 22:41||jdshewey||Note Added: 0036574|
|2020-03-25 13:14||troyengel||Note Added: 0036578|
|2020-05-09 14:52||them||Note Added: 0036903|
|2020-05-10 13:44||tjyang||Note Added: 0036911|
|2020-06-20 17:45||them||Note Added: 0037196|
|2020-08-21 01:31||chder||Note Added: 0037580|
|2020-08-22 15:24||them||Note Added: 0037582|
|2020-08-25 23:10||toracat||Note Added: 0037596|