]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
radosgw: run as 'user' field in ceph.conf
authorSage Weil <sage@newdream.net>
Mon, 3 Oct 2011 22:13:31 +0000 (15:13 -0700)
committerSage Weil <sage@newdream.net>
Tue, 4 Oct 2011 20:44:18 +0000 (13:44 -0700)
Signed-off-by: Sage Weil <sage@newdream.net>
src/init-radosgw

index d16b530119c0a96d55a0ff208ea84d3db9cdacd7..e803c0303aab2e2fc3af1b33e7451cd686f0955b 100644 (file)
@@ -15,8 +15,8 @@ PATH=/sbin:/bin:/usr/bin
 # prefix for radosgw instances in ceph.conf
 PREFIX='client.radosgw.'
 
-# user to run radosgw as
-USER='www-data'
+# user to run radosgw as (it not specified in ceph.conf)
+DEFAULT_USER='www-data'
 
 # directory to write logs to
 LOGDIR='/var/log/radosgw'
@@ -29,7 +29,6 @@ fi
 # make sure log dir exists
 if [ ! -d "$LOGDIR" ]; then
     mkdir -p $LOGDIR
-    chown $USER $LOGDIR
 fi
 
 case "$1" in
@@ -53,11 +52,17 @@ case "$1" in
                continue
            fi
 
+           user=`ceph-conf -n $name user`
+           if [ -n "$user" ]; then
+               user=$DEFAULT_USER
+           fi
+
             echo "Starting $name..."
             # when radosgw grows support for daemonizing itself and setting up a pidfile, we can do
-            #   start-stop-daemon --start -u $USER -p $pid_file -x $RADOSGW -- -n $name
+            #   start-stop-daemon --start -u $user -p $pid_file -x $RADOSGW -- -n $name
             # but until then,
-            su - $USER -c "radosgw -n $name >> /var/log/radosgw/$name.log 2>&1 &"
+           chown $user $LOGDIR
+            su - $user -c "radosgw -n $name >> /var/log/radosgw/$name.log 2>&1 &"
        done
         ;;
     restart|reload|force-reload)