#! /bin/bash # 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 [ -f /etc/sysconfig/ceph ] && . /etc/sysconfig/ceph cluster=${CLUSTER:-ceph} config=$1 ; shift # Shared variables by many actions dir_mon="/var/lib/ceph/mon/" dir_osd="/var/lib/ceph/osd/" if test -d ${dir_mon} ; then lmon=`ls ${dir_mon} | grep ${cluster}` fi if test -d ${dir_osd} ; then losd=`ls ${dir_osd} | grep ${cluster}` fi prefix="${cluster}-" RC=0 if test -n "$config" ; then 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 ) n=0 if test -n ${lmon} ; then for s in ${lmon#=${prefix}} ; do systemctl "${action}" ceph-mon@${s#$prefix}.service [ $? -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 [ $? -eq 0 ] || RC=1 ((++n)) done fi ;; *) echo "Invalid paramter : $action" echo "Valid paramters : start | stop | status | enable | disable | restart | is-active | is-failed | show | kill | reset-failed" ;; esac fi exit $RC