Blame SOURCES/mongodb26_setup_changes.patch

aa165c
# HG changeset patch
aa165c
# Parent ea834e43564f5d7dd6b3467a14a3cfe8afb798dc
aa165c
diff --git a/distribution/scripts/thermostat-setup b/distribution/scripts/thermostat-setup
aa165c
--- a/distribution/scripts/thermostat-setup
aa165c
+++ b/distribution/scripts/thermostat-setup
aa165c
@@ -423,15 +423,39 @@
aa165c
   echo -e "connections.\n"
aa165c
   readUsername "$defaultName"
aa165c
   readPassword
aa165c
-  setupCmdName="add-mongodb-user -s"
aa165c
-  output="$(echo -e $USERNAME\\n$PASSWORD\\n | $THERMOSTAT $setupCmdName 2>&1)"
aa165c
-  # The above should have created the mongodb stamp file
aa165c
-  monogdbSetupStampFile="$USER_THERMOSTAT_HOME/data/mongodb-user-done.stamp"
aa165c
-  if [ ! -e "$monogdbSetupStampFile" ] ||
aa165c
-    ! echo $output | grep -s "setup complete" > /dev/null; then
aa165c
+  mkdir -p "$USER_THERMOSTAT_HOME"/data/db/
aa165c
+  mkdir -p "$USER_THERMOSTAT_HOME"/logs/
aa165c
+  mkdir -p "$USER_THERMOSTAT_HOME"/run/
aa165c
+  mkdir -p "$USER_THERMOSTAT_HOME"/etc/
aa165c
+  mkdir -p "$USER_THERMOSTAT_HOME"/cache/
aa165c
+  mongod --nojournal \
aa165c
+         --quiet \
aa165c
+         --fork \
aa165c
+         --noauth \
aa165c
+         --nohttpinterface \
aa165c
+         --bind_ip 127.0.0.1 \
aa165c
+         --port 27518 \
aa165c
+         --dbpath "$USER_THERMOSTAT_HOME"/data/db \
aa165c
+         --logpath "$USER_THERMOSTAT_HOME"/logs/db.log \
aa165c
+         --pidfilepath "$USER_THERMOSTAT_HOME"/run/db.pid
aa165c
+  MONGOD_RETVAL="$?"
aa165c
+  if [ "$MONGOD_RETVAL" -ne 0 ] ; then
aa165c
     echo -e "\nMongodb user setup failed." 1>&2
aa165c
     exitFail
aa165c
   fi
aa165c
+  sleep 5
aa165c
+  mongo 127.0.0.1:27518 << EOF
aa165c
+use thermostat
aa165c
+db.createUser({ user: "$USERNAME", pwd: "$PASSWORD", roles: [ "readWrite" ] })
aa165c
+quit
aa165c
+EOF
aa165c
+  MONGO_SETUP_RETVAL="$?"
aa165c
+  kill "$(cat "$USER_THERMOSTAT_HOME"/run/db.pid)"
aa165c
+  if [ "$MONGO_SETUP_RETVAL" -ne 0 ] ; then
aa165c
+    echo -e "\nMongodb user setup failed." 1>&2
aa165c
+    exitFail
aa165c
+  fi
aa165c
+  touch "$USER_THERMOSTAT_HOME"/data/mongodb-user-done.stamp
aa165c
 }
aa165c
 
aa165c
 doProceedLoop() {