Bug 506592

Summary: lvm2-cluster lacks Requires: cman
Product: [Fedora] Fedora Reporter: Jan "Yenya" Kasprzak <kas>
Component: lvm2-clusterAssignee: Fabio Massimo Di Nitto <fdinitto>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 11CC: agk, apiemont, ccaulfie, cfeist, dwysocha, fdinitto, jbrassow, mbroz, prockai, swhiteho
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 557662 (view as bug list) Environment:
Last Closed: 2010-01-22 06:08:41 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 557662    

Description Jan "Yenya" Kasprzak 2009-06-17 21:05:06 UTC
Description of problem:
When trying to start clvmd, it fails after several seconds delay with the following message:

clvmd could not connect to cluster manager
Consult syslog for more information

And in /var/log/messages there is the following line:

Jun 17 22:49:53 yuki1 clvmd: Unable to create lockspace for CLVM: No such file or directory

Running clvmd under "strace -f" shows that the last ENOENT before the above message is sent to the syslog is this:

1580  stat("/dev/misc/dlm-control", 0x7fff8a7d6ee0) = -1 ENOENT (No such file or directory)

On my system (a freshly installed F11) the DLM devices (dlm-control, dlm-monitor, and dlm_plock) are directly under /dev, not under /dev/misc.

Version-Release number of selected component (if applicable):
lvm2-cluster-2.02.45-4.fc11.x86_64
kernel-2.6.29.4-167.fc11.x86_64
udev-141-3.fc11.x86_64

How reproducible:
100%

Steps to Reproduce:
1. have a system with lvm2-cluster installed and corosync up and running.
2. modprobe dlm
3. strace -f -o /tmp/clvmd.strace clvmd
  
Actual results:
clvmd dies with the above messages, in strace it can be seen that it tries to open /dev/misc/dlm-control

Expected results:
It should open /dev/dlm-control (or alternatively, udev should create /dev/misc/dlm-control)

Additional info:
I am new to clustered lvm, so I am not sure if whether I am missing something or not. I have tried to do a band-aid fix:

mkdir /dev/misc
cd /dev/misc
ln -s ../dlm* .

Then clvmd at least dies immediately, and with different messages:

Jun 17 22:58:00 yuki1 kernel: dlm: no local IP address has been set
Jun 17 22:58:00 yuki1 clvmd: Unable to create lockspace for CLVM: Transport endpoint is not connected
Jun 17 22:58:00 yuki1 kernel: dlm: cannot start dlm lowcomms -107

Comment 1 Milan Broz 2009-06-17 21:29:14 UTC
I think you need to install and run cman (which at least in rawhide contains udev rules to create this node). 

Anyway, it is cluster-lib code here which open dlm-control, reassigning to cluster package (clvmd only uses it).

Comment 2 Fabio Massimo Di Nitto 2009-06-17 21:37:58 UTC
I am not sure this is a bug...

is cman running at all?

what's the output of cman_tool status and cman_tool nodes?

can you provide cluster.conf?

dlm needs to be running and configured via cman and it doesn't look like from the errors in dmesg.

Fabio

Comment 3 Jan "Yenya" Kasprzak 2009-06-17 21:56:36 UTC
OK, then the bug is that lvm2-cluster lacks "Requires: cman", if it cannot be run without cman.

As I said, I am pretty new to clvm. So I have installed lvm2-cluster and looked at its dependences. In F11, it brought only corosync in, so I have tried at least to configure and run corosync. I had no idea that cman is required to run clustered lvm.

cman-3.0.0-15.rc1.fc11.x86_64 indeed contains correct udev rules for /dev/misc/dlm*.

Changing the component back to lvm2-cluster and editing the title of the bug.

Comment 4 Christine Caulfield 2009-06-18 06:53:18 UTC
Yes, lvm2-cluster needs to depend on cman, because cman provides the DLM userspace files that it will use. Also the DLM currently depends on cman to run in the first place, so anything that depends on DLM (as clvmd does) will also require cman.

This dependency will be lifted in the future.