File 0011-systemd-ceph-fix-multiple-bugs.patch of Package ceph.2107
From: Owen Synge <osynge@suse.com>
Date: Mon, 12 Jan 2015 14:35:41 +0100
Subject: [PATCH] systemd/ceph: fix multiple bugs
This is a squash of two commits:
66cb46c411d874be009c225450eea5021cf1219b Fixes to rcceph script
- only start OSDs if mon daemons are also present
- adds support for mask and unmask
- removes support for cluster with non default cluster name,
as this was very limited and inconsistent
Signed-off-by: Owen Synge <osynge@suse.com>
af450a3de2569de7aea73c695de1086b7d581739 Bug fix to ceph systemV compatability script.
Was failing with more than one OSD / MON deamon on a single node.
Fixes suse bugzilla #927862
Signed-off-by: Owen Synge <osynge@suse.com>
(cherry picked from commit 15be94cde2041baed2b5b5bb34b4e5e226017bf4)
---
systemd/ceph | 69 ++++++++++++++++++++++++++++++------------------------------
1 file changed, 34 insertions(+), 35 deletions(-)
diff --git a/systemd/ceph b/systemd/ceph
index e60dec6..1657779 100644
--- a/systemd/ceph
+++ b/systemd/ceph
@@ -16,51 +16,50 @@ SYSTEMD_NO_WRAP=1 . /etc/rc.status
rc_reset
action=$1 ; shift
+
+# default cluster name to "ceph"
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}`
+ lmon=`ls ${dir_mon} | grep ${cluster}`
fi
if test -d ${dir_osd} ; then
-losd=`ls ${dir_osd} | grep ${cluster}`
+ losd=`ls ${dir_osd} | grep ${cluster}`
fi
prefix="${cluster}-"
-if test -n "$config" ; then
- systemctl "${action}" "ceph-mon@${config}.service"
-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
- rc_check
- ((++n))
- done
- fi
- if test -n ${lmon} ; then
- for s in ${losd#=${prefix}} ; do
- systemctl "${action}" ceph-osd@${s#$prefix}.service
- rc_check
- ((++n))
- done
- fi
- if test $n -gt 0 ; then
- rc_status
- else
- rc_status -u
- fi
- ;;
- *)
- echo "Invalid paramter : $action"
- echo "Valid paramters : start | stop | status | enable | disable | restart | is-active | is-failed | show | kill | reset-failed"
- ;;
- esac
-fi
+case $action in start | stop | status | enable | disable | mask | unmask | 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
+ rc_check
+ ((++n))
+ done
+ fi
+ if test -n "${losd}" ; then
+ for s in ${losd#=${prefix}} ; do
+ systemctl "${action}" ceph-osd@${s#$prefix}.service
+ rc_check
+ ((++n))
+ done
+ fi
+ if test $n -gt 0 ; then
+ rc_status
+ else
+ rc_status -u
+ fi
+ systemctl "${action}" ceph.target
+ rc_check
+;;
+*)
+ echo "Invalid paramter : $action"
+ echo "Valid paramters : start | stop | status | enable | disable | mask | unmask | restart | is-active | is-failed | show | kill | reset-failed"
+;;
+esac
+
rc_exit