We need to distinguish between daemons managed by upstart and sysvinit
(and, eventually, systemd). Only start daemons when 'upstart' is present.
Note that sysvinit will only start daemons when the 'host = ...' line is
in ceph.conf, so there is a similar "opt-in".
Signed-off-by: Sage Weil <sage@inktank.com>
# TODO what's the valid charset for cluster names and mds ids?
find /var/lib/ceph/mds/ -mindepth 1 -maxdepth 1 -regextype posix-egrep -regex '.*/[a-z0-9]+-[a-z0-9._-]+' -printf '%P\n' \
| while read f; do
- if [ -e "/var/lib/ceph/mds/$f/done" ]; then
+ if [ -e "/var/lib/ceph/mds/$f/done" ] && [ -e "/var/lib/ceph/mds/$f/upstart" ]; then
cluster="${f%%-*}"
id="${f#*-}"
initctl emit ceph-mds cluster="$cluster" id="$id"
# TODO what's the valid charset for cluster names and mon ids?
find /var/lib/ceph/mon/ -mindepth 1 -maxdepth 1 -regextype posix-egrep -regex '.*/[a-z0-9]+-[a-z0-9._-]+' -printf '%P\n' \
| while read f; do
- if [ -e "/var/lib/ceph/mon/$f/done" ]; then
+ if [ -e "/var/lib/ceph/mon/$f/done" ] && [ -e "/var/lib/ceph/mon/$f/upstart" ]; then
cluster="${f%%-*}"
id="${f#*-}"
# TODO what's the valid charset for cluster names and osd ids?
find /var/lib/ceph/osd/ -mindepth 1 -maxdepth 1 -regextype posix-egrep -regex '.*/[a-z0-9]+-[a-z0-9._-]+' -printf '%P\n' \
| while read f; do
- if [ -e "/var/lib/ceph/osd/$f/ready" ]; then
+ if [ -e "/var/lib/ceph/osd/$f/ready" ] && [ -e "/var/lib/ceph/osd/$f/upstart" ]; then
cluster="${f%%-*}"
id="${f#*-}"