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
... | ... |
@@ -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 |
|