Browse code

Remove DEFAULT_STACK_USER, just use STACK_USER

STACK_USER needs to be set for more than just stack.sh, there
was no real distinction for using DEFAULT_STACK_USER instead
of just setting STACK_USER directly in stackrc and allowing it
to be overridden in localrc.

Change-Id: I9e8d70db29bb421f1ce3dbf40a5ad299cc7ea785

Dean Troyer authored on 2013/01/25 05:19:55
Showing 6 changed files
... ...
@@ -160,7 +160,6 @@ VERBOSE=$(trueorfalse True $VERBOSE)
160 160
 # sudo privileges and runs as that user.
161 161
 
162 162
 if [[ $EUID -eq 0 ]]; then
163
-    STACK_USER=$DEFAULT_STACK_USER
164 163
     ROOTSLEEP=${ROOTSLEEP:-10}
165 164
     echo "You are running this script as root."
166 165
     echo "In $ROOTSLEEP seconds, we will create a user '$STACK_USER' and run as that user"
... ...
@@ -196,7 +195,6 @@ if [[ $EUID -eq 0 ]]; then
196 196
     fi
197 197
     exit 1
198 198
 else
199
-    STACK_USER=`whoami`
200 199
     # We're not **root**, make sure ``sudo`` is available
201 200
     is_package_installed sudo || die "Sudo is required.  Re-run stack.sh as root ONE TIME ONLY to set up sudo."
202 201
 
... ...
@@ -1291,7 +1289,7 @@ fi
1291 1291
 CURRENT_RUN_TIME=$(date "+$TIMESTAMP_FORMAT")
1292 1292
 echo "# $CURRENT_RUN_TIME" >$TOP_DIR/.stackenv
1293 1293
 for i in BASE_SQL_CONN ENABLED_SERVICES HOST_IP LOGFILE \
1294
-  SERVICE_HOST SERVICE_PROTOCOL TLS_IP; do
1294
+  SERVICE_HOST SERVICE_PROTOCOL STACK_USER TLS_IP; do
1295 1295
     echo $i=${!i} >>$TOP_DIR/.stackenv
1296 1296
 done
1297 1297
 
... ...
@@ -12,8 +12,12 @@ DATA_DIR=${DEST}/data
12 12
 # Select the default database
13 13
 DATABASE_TYPE=mysql
14 14
 
15
-# Default stack user
16
-DEFAULT_STACK_USER=stack
15
+# Determine stack user
16
+if [[ $EUID -eq 0 ]]; then
17
+    STACK_USER=stack
18
+else
19
+    STACK_USER=$(whoami)
20
+fi
17 21
 
18 22
 # Specify which services to launch.  These generally correspond to
19 23
 # screen tabs. To change the default list, use the ``enable_service`` and
... ...
@@ -125,17 +125,17 @@ if [ ! -r $DEV_FILE ]; then
125 125
     # Create a stack user that is a member of the libvirtd group so that stack
126 126
     # is able to interact with libvirt.
127 127
     chroot $MNTDIR groupadd libvirtd
128
-    chroot $MNTDIR useradd $DEFAULT_STACK_USER -s /bin/bash -d $DEST -G libvirtd
128
+    chroot $MNTDIR useradd $STACK_USER -s /bin/bash -d $DEST -G libvirtd
129 129
     mkdir -p $MNTDIR/$DEST
130
-    chroot $MNTDIR chown $DEFAULT_STACK_USER $DEST
130
+    chroot $MNTDIR chown $STACK_USER $DEST
131 131
 
132 132
     # A simple password - pass
133
-    echo $DEFAULT_STACK_USER:pass | chroot $MNTDIR chpasswd
133
+    echo $STACK_USER:pass | chroot $MNTDIR chpasswd
134 134
     echo root:$ROOT_PASSWORD | chroot $MNTDIR chpasswd
135 135
 
136 136
     # And has sudo ability (in the future this should be limited to only what
137 137
     # stack requires)
138
-    echo "$DEFAULT_STACK_USER ALL=(ALL) NOPASSWD: ALL" >> $MNTDIR/etc/sudoers
138
+    echo "$STACK_USER ALL=(ALL) NOPASSWD: ALL" >> $MNTDIR/etc/sudoers
139 139
 
140 140
     umount $MNTDIR
141 141
     rmdir $MNTDIR
... ...
@@ -187,7 +187,7 @@ git_clone $OPENSTACKX_REPO $DEST/openstackx $OPENSTACKX_BRANCH
187 187
 # Use this version of devstack
188 188
 rm -rf $MNTDIR/$DEST/devstack
189 189
 cp -pr $CWD $MNTDIR/$DEST/devstack
190
-chroot $MNTDIR chown -R $DEFAULT_STACK_USER $DEST/devstack
190
+chroot $MNTDIR chown -R $STACK_USER $DEST/devstack
191 191
 
192 192
 # Configure host network for DHCP
193 193
 mkdir -p $MNTDIR/etc/network
... ...
@@ -225,7 +225,7 @@ EOF
225 225
 
226 226
 # Make the run.sh executable
227 227
 chmod 755 $RUN_SH
228
-chroot $MNTDIR chown $DEFAULT_STACK_USER $DEST/run.sh
228
+chroot $MNTDIR chown $STACK_USER $DEST/run.sh
229 229
 
230 230
 umount $MNTDIR
231 231
 rmdir $MNTDIR
... ...
@@ -207,11 +207,11 @@ ROOTSLEEP=0
207 207
 `cat $TOP_DIR/localrc`
208 208
 LOCAL_EOF
209 209
 fi
210
-useradd -U -G sudo -s /bin/bash -d /opt/stack -m $DEFAULT_STACK_USER
211
-echo $DEFAULT_STACK_USER:pass | chpasswd
210
+useradd -U -G sudo -s /bin/bash -d /opt/stack -m $STACK_USER
211
+echo $STACK_USER:pass | chpasswd
212 212
 mkdir -p /opt/stack/.ssh
213 213
 echo "$PUB_KEY" > /opt/stack/.ssh/authorized_keys
214
-chown -R $DEFAULT_STACK_USER /opt/stack
214
+chown -R $STACK_USER /opt/stack
215 215
 chmod 700 /opt/stack/.ssh
216 216
 chmod 600 /opt/stack/.ssh/authorized_keys
217 217
 
... ...
@@ -224,7 +224,7 @@ fi
224 224
 
225 225
 # Run stack.sh
226 226
 cat >> $vm_dir/uec/user-data<<EOF
227
-sudo -u $DEFAULT_STACK_USER bash -l -c "cd /opt/stack/devstack && ./stack.sh"
227
+sudo -u $STACK_USER bash -l -c "cd /opt/stack/devstack && ./stack.sh"
228 228
 EOF
229 229
 
230 230
 # (re)start a metadata service
... ...
@@ -46,13 +46,13 @@ mkdir -p $STAGING_DIR/$DEST
46 46
 # Create a stack user that is a member of the libvirtd group so that stack
47 47
 # is able to interact with libvirt.
48 48
 chroot $STAGING_DIR groupadd libvirtd || true
49
-chroot $STAGING_DIR useradd $DEFAULT_STACK_USER -s /bin/bash -d $DEST -G libvirtd || true
49
+chroot $STAGING_DIR useradd $STACK_USER -s /bin/bash -d $DEST -G libvirtd || true
50 50
 
51 51
 # Add a simple password - pass
52
-echo $DEFAULT_STACK_USER:pass | chroot $STAGING_DIR chpasswd
52
+echo $STACK_USER:pass | chroot $STAGING_DIR chpasswd
53 53
 
54 54
 # Configure sudo
55
-( umask 226 && echo "$DEFAULT_STACK_USER ALL=(ALL) NOPASSWD:ALL" \
55
+( umask 226 && echo "$STACK_USER ALL=(ALL) NOPASSWD:ALL" \
56 56
     > $STAGING_DIR/etc/sudoers.d/50_stack_sh )
57 57
 
58 58
 # Copy over your ssh keys and env if desired
... ...
@@ -67,7 +67,7 @@ rm -rf $STAGING_DIR/$DEST/devstack
67 67
 cp_it . $STAGING_DIR/$DEST/devstack
68 68
 
69 69
 # Give stack ownership over $DEST so it may do the work needed
70
-chroot $STAGING_DIR chown -R $DEFAULT_STACK_USER $DEST
70
+chroot $STAGING_DIR chown -R $STACK_USER $DEST
71 71
 
72 72
 # Unmount
73 73
 umount $STAGING_DIR
... ...
@@ -65,8 +65,8 @@ cd $TOP_DIR
65 65
 cat <<EOF >$STAGING_DIR/etc/rc.local
66 66
 # network restart required for getting the right gateway
67 67
 /etc/init.d/networking restart
68
-chown -R $DEFAULT_STACK_USER /opt/stack
69
-su -c "/opt/stack/run.sh > /opt/stack/run.sh.log" $DEFAULT_STACK_USER
68
+chown -R $STACK_USER /opt/stack
69
+su -c "/opt/stack/run.sh > /opt/stack/run.sh.log" $STACK_USER
70 70
 exit 0
71 71
 EOF
72 72