Bug #4036
init-ceph: assumes write access to /var/run/ceph
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
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 <sage@inktank.com>
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