#! /bin/bash
-### BEGIN INIT INFO
-# Provides: ceph ceph-mon ceph-osd
-# Required-Start: $network $remote_fs
-# Required-Stop: $network $remote_fs
-# Should-Start: network-remotefs
-# Should-Stop: network-remotefs
-# Default-Start: 3 5
-# Default-Stop: 0 1 2 6
-# Short-Description: Ceph is a distributed object, and block, storage platform
-# Description: Ceph is a distributed object, block, and file storage platform
-### END INIT INFO
-
-SYSTEMD_NO_WRAP=1 . /etc/rc.status
-rc_reset
+# It seems this was designed as /etc/init.d/ceph script for controlling the systemd
+# units on SuSE, made into 'cephctl' for PLD
action=$1 ; shift
-cluster="ceph"
+[ -f /etc/sysconfig/ceph ] && . /etc/sysconfig/ceph
+cluster=${CLUSTER:-ceph}
config=$1 ; shift
# Shared variables by many actions
fi
prefix="${cluster}-"
+RC=0
+
if test -n "$config" ; then
- systemctl "${action}" "ceph-mon@${config}.service"
+ systemctl "${action}" "ceph-mon@${config}.service" || RC=1
else
case $action in
start | stop | status | enable | disable | restart | is-active | is-failed | show | kill | reset-failed )
if test -n ${lmon} ; then
for s in ${lmon#=${prefix}} ; do
systemctl "${action}" ceph-mon@${s#$prefix}.service
- rc_check
+ [ $? -eq 0 ] || RC=1
((++n))
done
fi
if test -n ${lmon} ; then
for s in ${losd#=${prefix}} ; do
systemctl "${action}" ceph-osd@${s#$prefix}.service
- rc_check
+ [ $? -eq 0 ] || RC=1
((++n))
done
fi
- if test $n -gt 0 ; then
- rc_status
- else
- rc_status -u
- fi
;;
*)
echo "Invalid paramter : $action"
;;
esac
fi
-rc_exit
-
+exit $RC