]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
initscripts: do what we can to run as user specified in the conf
authorSage Weil <sage@newdream.net>
Fri, 10 Jul 2009 17:43:38 +0000 (10:43 -0700)
committerSage Weil <sage@newdream.net>
Mon, 13 Jul 2009 17:38:23 +0000 (10:38 -0700)
src/ceph_common.sh
src/cosd.ceph.conf

index 0deaf60a0031e005064d274f7fe8f8970585f3fc..545920e6cb21bbd4ef6307cfb28e79591a59cb12 100644 (file)
@@ -32,6 +32,7 @@ check_host() {
     ssh=""
     rootssh=""
     dir=$PWD
+    get_conf user "" "user"
     if [ -n "$host" ]; then
        #echo host for $name is $host, i am $hostname
        if [ "$host" != "$hostname" ]; then
@@ -41,11 +42,10 @@ check_host() {
            fi
 
            # we'll need to ssh into that host
-           get_conf sshuser "" "user"
-           if [ -z "$sshuser" ]; then
+           if [ -z "$user" ]; then
                ssh="ssh $host"
            else
-               ssh="ssh $sshuser@$host"
+               ssh="ssh $user@$host"
            fi
            rootssh="ssh root@$host"
            get_conf dir "$dir" "ssh path"
@@ -63,7 +63,12 @@ do_cmd() {
     if [ -z "$ssh" ]; then
        [ $verbose -eq 1 ] && echo "--- $host# $1"
        ulimit -c unlimited
-       bash -c "$1" || { echo "failed: '$1'" ; exit 1; }
+       whoami=`whoami`
+       if [ "$whoami" = "$user" ] || [ -z "$user" ]; then
+           bash -c "$1" || { echo "failed: '$1'" ; exit 1; }
+       else
+           su $user -c "$1" || { echo "failed: '$1'" ; exit 1; }
+       fi
     else
        [ $verbose -eq 1 ] && echo "--- $ssh $2 \"cd $dir ; ulimit -c unlimited ; $1\""
        $ssh $2 "cd $dir ; ulimit -c unlimited ; $1" || { echo "failed: '$ssh $1'" ; exit 1; }
@@ -74,7 +79,12 @@ do_root_cmd() {
     if [ -z "$ssh" ]; then
        [ $verbose -eq 1 ] && echo "--- $host# $1"
        ulimit -c unlimited
-       sudo bash -c "$1" || { echo "failed: '$1'" ; exit 1; }
+       whoami=`whoami`
+       if [ "$whoami" = "root" ] || [ -z "$user" ]; then
+           bash -c "$1" || { echo "failed: '$1'" ; exit 1; }
+       else
+           sudo bash -c "$1" || { echo "failed: '$1'" ; exit 1; }
+       fi
     else
        [ $verbose -eq 1 ] && echo "--- $ssh $2 \"cd $dir ; ulimit -c unlimited ; $1\""
        $rootssh $2 "cd $dir ; ulimit -c unlimited ; $1" || { echo "failed: '$ssh $1'" ; exit 1; }
index 9565fe739fed354b954b2b9a7c548d617e1857bb..3de5ae6da548a5403aeeac700ea5ec3abc6ee299 100644 (file)
@@ -2,8 +2,11 @@
 [group cephnet]
         addr = 10.3.14.0/24
 
+[group backup]
+       addr =  10.104.0.219
+
 [mount /]
-        allow = %cephnet
+        allow = "%cephnet %backup"
 
 ; ---------------------
 [global]
@@ -12,6 +15,7 @@
        log sym dir = /home/sage/ceph/src/out
        chdir = /home/sage/ceph/src
        restart on core dump = false
+       user = sage
 
 ; ---------------------
 [mon]
@@ -46,7 +50,7 @@
        debug ms = 1
        debug osd = 20
        debug filestore = 10
-;      debug journal = 20
+       debug journal = 20
        log dir = /data/cosd$id
        osd data = /mnt/osd$id
        btrfs options = "user_xattr,flushoncommit,usertrans"