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
 
openSUSE Build Service is sponsored by