No need to check localrc for password. Also use TOP_DIR as described by smoser.
diff --git a/stack.sh b/stack.sh
index 68e5afa..4fbfa28 100755
--- a/stack.sh
+++ b/stack.sh
@@ -43,8 +43,8 @@
exit 1
fi
-# Keep track of the current working directory.
-CWD=`pwd`
+# Keep track of the current devstack directory.
+TOP_DIR=$(cd $(dirname "$0") && pwd)
# OpenStack is designed to be run as a regular user (Dashboard will fail to run
# as root, since apache refused to startup serve content from root user). If
@@ -155,34 +155,32 @@
var=$1; msg=$2
pw=${!var}
- localrc=$CWD/localrc
+ localrc=$TOP_DIR/localrc
# If the password is not defined yet, proceed to prompt user for a password.
if [ ! $pw ]; then
# If there is no localrc file, create one
- if [ ! -e localrc ]; then
- touch localrc
+ if [ ! -e $localrc ]; then
+ touch $localrc
fi
# Presumably if we got this far it can only be that our localrc is missing
# the required password. Prompt user for a password and write to localrc.
- if ! grep -q $1 localrc; then
- echo ''
- echo '################################################################################'
- echo $msg
- echo '################################################################################'
- echo "This value will be written to your localrc file so you don't have to enter it again."
- echo "It is probably best to avoid spaces and weird characters."
- echo "If you leave this blank, a random default value will be used."
- echo "Enter a password now:"
- read $var
- pw=${!var}
- if [ ! $pw ]; then
- pw=`openssl rand -hex 10`
- fi
- eval "$var=$pw"
- echo "$var=$pw" >> localrc
+ echo ''
+ echo '################################################################################'
+ echo $msg
+ echo '################################################################################'
+ echo "This value will be written to your localrc file so you don't have to enter it again."
+ echo "It is probably best to avoid spaces and weird characters."
+ echo "If you leave this blank, a random default value will be used."
+ echo "Enter a password now:"
+ read $var
+ pw=${!var}
+ if [ ! $pw ]; then
+ pw=`openssl rand -hex 10`
fi
+ eval "$var=$pw"
+ echo "$var=$pw" >> $localrc
fi
set -o xtrace
}