]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
init-radosgw: unify init-radosgw[.sysv]
authorSage Weil <sage@redhat.com>
Thu, 7 May 2015 22:39:22 +0000 (15:39 -0700)
committerKen Dreyer <kdreyer@redhat.com>
Wed, 23 Sep 2015 20:37:39 +0000 (14:37 -0600)
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 1c45f512a91ee49e9253ba6fd3857af9bd2ae57a)

src/init-radosgw

index c191a88b187d62d7c11ebe271939da6897985660..25fd346c6dda82dba6f01e2eb2f9f6f599460661 100644 (file)
 
 PATH=/sbin:/bin:/usr/bin
 
-. /lib/lsb/init-functions
+if [ -x /sbin/start-stop-daemon ]; then
+    DEBIAN=1
+    . /lib/lsb/init-functions
+else
+    . /etc/rc.d/init.d/functions
+    DEBIAN=0
+
+    # detect systemd, also check whether the systemd-run binary exists
+    SYSTEMD_RUN=$(which systemd-run 2>/dev/null)
+    grep -qs systemd /proc/1/comm || SYSTEMD_RUN=""
+fi
 
 daemon_is_running() {
     daemon=$1
@@ -89,20 +99,34 @@ case "$1" in
             fi
 
             echo "Starting $name..."
-            start-stop-daemon --start -u $user -x $RADOSGW -- -n $name
+           if [ $DEBIAN -eq 1 ]; then
+               start-stop-daemon --start -u $user -x $RADOSGW -- -n $name
+           elif [ -n "$SYSTEMD_RUN" ]; then
+                $SYSTEMD_RUN -r sudo -u "$user" bash -c "ulimit -n 32768; $RADOSGW -n $name"
+            else
+               ulimit -n 32768
+                daemon --user="$user" "$RADOSGW -n $name"
+            fi
         done
-        daemon_is_running $RADOSGW
         ;;
     reload)
         echo "Reloading $name..."
-        start-stop-daemon --stop --signal HUP -x $RADOSGW --oknodo
-        ;;
+       if [ $DEBIAN -eq 1 ]; then
+            start-stop-daemon --stop --signal HUP -x $RADOSGW --oknodo
+       else
+            killproc $RADOSGW -SIGHUP
+       fi
+       ;;
     restart|force-reload)
         $0 stop
         $0 start
         ;;
     stop)
-        start-stop-daemon --stop -x $RADOSGW --oknodo
+       if [ $DEBIAN -eq 1 ]; then
+            start-stop-daemon --stop -x $RADOSGW --oknodo
+       else
+           killproc $RADOSGW
+       fi
         ;;
     status)
         daemon_is_running $RADOSGW