Project

General

Profile

Bug #4036

init-ceph: assumes write access to /var/run/ceph

Added by Greg Farnum about 11 years ago. Updated over 10 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

I noticed this when using init-ceph on a vstart cluster:

<snip>
starting mds.a at :/0
./ceph -c ceph.conf -k /home/gregf/ceph/src/keyring mds set_max_mds 1
max_mds = 1
started.  stop.sh to stop.  see out/* (e.g. 'tail -f out/????') for debug output.
gregf@kai:~/ceph/src [master]$ ps aux | grep ceph
gregf    26870  1.0  0.4 117092 18384 ?        Ssl  12:51   0:00 ./ceph-mon -i a -c ceph.conf
gregf    26942 11.2  0.6 367808 24752 ?        Ssl  12:51   0:00 ./ceph-osd -i 0 -c ceph.conf
gregf    26965  1.0  0.4 134740 18676 ?        Ssl  12:51   0:00 ./ceph-mds -i a -c ceph.conf
gregf    27048  0.0  0.0   6024   688 pts/5    S+   12:51   0:00 grep ceph
nobody   29299  0.0  0.0  31400  3004 ?        Ss   Feb01   0:12 /usr/sbin/openvpn --writepid /var/run/openvpn.cephco-sepia.pid --daemon ovpn-cephco-sepia --status /var/run/openvpn.cephco-sepia.status 10 --cd /etc/openvpn --config /etc/openvpn/cephco-sepia.conf
gregf@kai:~/ceph/src [master]$ ./init-ceph restart mds
=== mds.a === 
=== mds.a === 
Stopping Ceph mds.a on kai...kill 26965...done
=== mds.a === 
Starting Ceph mds.a on kai...
mkdir: cannot create directory `/var/run/ceph': Permission denied
bash: line 0: ulimit: open files: cannot modify limit: Operation not permitted
starting mds.a at :/0
gregf@kai:~/ceph/src [master]$ <pre>

The problem appears to be that init-ceph is attempting to unconditionally create the "/var/run/ceph" directory, even if none of the daemons want to put anything there. It appears to be so that "init-ceph status" can look in that directory for the admin sockets? So that should probably get modified to look wherever the admin sockets actually live.

Associated revisions

Revision 3e707da4 (diff)
Added by Sage Weil almost 11 years ago

vstart.sh: set run_dir to out

This avoids annoying errors about creating /var/run/ceph from
init-ceph.

Fixes: #4036
Signed-off-by: Sage Weil <>

History

#1 Updated by Greg Farnum about 11 years ago

  • Subject changed from vstart clusters cannot restart individual nodes with init-ceph to init-ceph: assumes write access to /var/run/ceph
  • Description updated (diff)

I was mistaken about vstart clusters; it's restarting them just fine. Changed the bug description to more correctly describe the problem.

#2 Updated by Danny Al-Gaaf about 11 years ago

/var/run/ceph is used not only for the socket files, but also for the pid files by default.

I would guess it's a packaging problem. The RPM packages for example create all the needed directories including /var/run/ceph. The debian package doesn't provide this directory atm.

Maybe https://github.com/ceph/ceph/pull/52 fixes the issue.

#3 Updated by Sage Weil over 10 years ago

  • Status changed from New to Resolved

Also available in: Atom PDF