Merge "Copy Nova's policy.json to /etc/nova"
diff --git a/exercises/floating_ips.sh b/exercises/floating_ips.sh
index dd40aa0..82f29eb 100755
--- a/exercises/floating_ips.sh
+++ b/exercises/floating_ips.sh
@@ -121,8 +121,8 @@
 die_if_not_set IP "Failure retrieving IP address"
 
 # for single node deployments, we can ping private ips
-MULTI_HOST=${MULTI_HOST:-0}
-if [ "$MULTI_HOST" = "0" ]; then
+MULTI_HOST=`trueorfalse False $MULTI_HOST`
+if [ "$MULTI_HOST" = "False" ]; then
     # sometimes the first ping fails (10 seconds isn't enough time for the VM's
     # network to respond?), so let's ping for a default of 15 seconds with a
     # timeout of a second for each ping.
diff --git a/exercises/quantum.sh b/exercises/quantum.sh
index a6df765..e19a78e 100755
--- a/exercises/quantum.sh
+++ b/exercises/quantum.sh
@@ -255,8 +255,8 @@
     export OS_PASSWORD=nova
     PUBLIC_IP2=`nova show $VM_UUID2 | grep public-net1 | awk '{print $5}'`
 
-    MULTI_HOST=${MULTI_HOST:-0}
-    if [ "$MULTI_HOST" = "0" ]; then
+    MULTI_HOST=`trueorfalse False $MULTI_HOST`
+    if [ "$MULTI_HOST" = "False" ]; then
         # sometimes the first ping fails (10 seconds isn't enough time for the VM's
         # network to respond?), so let's ping for a default of 15 seconds with a
         # timeout of a second for each ping.
diff --git a/exercises/volumes.sh b/exercises/volumes.sh
index b62427f..6749558 100755
--- a/exercises/volumes.sh
+++ b/exercises/volumes.sh
@@ -97,8 +97,8 @@
 die_if_not_set IP "Failure retrieving IP address"
 
 # for single node deployments, we can ping private ips
-MULTI_HOST=${MULTI_HOST:-0}
-if [ "$MULTI_HOST" = "0" ]; then
+MULTI_HOST=`trueorfalse False $MULTI_HOST`
+if [ "$MULTI_HOST" = "False" ]; then
     # sometimes the first ping fails (10 seconds isn't enough time for the VM's
     # network to respond?), so let's ping for a default of 15 seconds with a
     # timeout of a second for each ping.
diff --git a/stack.sh b/stack.sh
index d8720d9..c6f5d1e 100755
--- a/stack.sh
+++ b/stack.sh
@@ -341,7 +341,7 @@
 # **MULTI_HOST** is a mode where each compute node runs its own network node.  This
 # allows network operations and routing for a VM to occur on the server that is
 # running the VM - removing a SPOF and bandwidth bottleneck.
-MULTI_HOST=${MULTI_HOST:-False}
+MULTI_HOST=`trueorfalse False $MULTI_HOST`
 
 # If you are using FlatDHCP on multiple hosts, set the ``FLAT_INTERFACE``
 # variable but make sure that the interface doesn't already have an
@@ -1045,10 +1045,15 @@
             ### FIXME(dtroyer): Find RPMs for OpenVSwitch
             echo "OpenVSwitch packages need to be located"
         fi
+
+        QUANTUM_OVS_CONF_DIR=$QUANTUM_CONF_DIR/plugins/openvswitch
+        QUANTUM_OVS_CONFIG_FILE=$QUANTUM_OVS_CONF_DIR/ovs_quantum_plugin.ini
+
         # Create database for the plugin/agent
         if is_service_enabled mysql; then
             mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'DROP DATABASE IF EXISTS ovs_quantum;'
             mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE IF NOT EXISTS ovs_quantum CHARACTER SET utf8;'
+            sudo sed -i -e "s/^sql_connection =.*$/sql_connection = mysql:\/\/$MYSQL_USER:$MYSQL_PASSWORD@$MYSQL_HOST\/ovs_quantum?charset=utf8/g" $QUANTUM_OVS_CONFIG_FILE
         else
             echo "mysql must be enabled in order to use the $Q_PLUGIN Quantum plugin."
             exit 1
@@ -1063,17 +1068,22 @@
         if is_service_enabled mysql; then
             mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'DROP DATABASE IF EXISTS quantum_linux_bridge;'
             mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE IF NOT EXISTS quantum_linux_bridge;'
+            if grep -Fxq "user = " $QUANTUM_LB_CONFIG_FILE
+            then
+                sudo sed -i -e "s/^connection = sqlite$/#connection = sqlite/g" $QUANTUM_LB_CONFIG_FILE
+                sudo sed -i -e "s/^#connection = mysql$/connection = mysql/g" $QUANTUM_LB_CONFIG_FILE
+                sudo sed -i -e "s/^user = .*$/user = $MYSQL_USER/g" $QUANTUM_LB_CONFIG_FILE
+                sudo sed -i -e "s/^pass = .*$/pass = $MYSQL_PASSWORD/g" $QUANTUM_LB_CONFIG_FILE
+                sudo sed -i -e "s/^host = .*$/host = $MYSQL_HOST/g" $QUANTUM_LB_CONFIG_FILE
+            else
+                sudo sed -i -e "s/^sql_connection =.*$/sql_connection = mysql:\/\/$MYSQL_USER:$MYSQL_PASSWORD@$MYSQL_HOST\/quantum_linux_bridge?charset=utf8/g" $QUANTUM_LB_CONFIG_FILE
+            fi
         else
             echo "mysql must be enabled in order to use the $Q_PLUGIN Quantum plugin."
             exit 1
         fi
-        # Make sure we're using the linuxbridge plugin and set the mysql hostname, username and password in the config file
+        # Make sure we're using the linuxbridge plugin
         sudo sed -i -e "s/^provider =.*$/provider = quantum.plugins.linuxbridge.LinuxBridgePlugin.LinuxBridgePlugin/g" $QUANTUM_PLUGIN_INI_FILE
-        sudo sed -i -e "s/^connection = sqlite$/#connection = sqlite/g" $QUANTUM_LB_CONFIG_FILE
-        sudo sed -i -e "s/^#connection = mysql$/connection = mysql/g" $QUANTUM_LB_CONFIG_FILE
-        sudo sed -i -e "s/^user = .*$/user = $MYSQL_USER/g" $QUANTUM_LB_CONFIG_FILE
-        sudo sed -i -e "s/^pass = .*$/pass = $MYSQL_PASSWORD/g" $QUANTUM_LB_CONFIG_FILE
-        sudo sed -i -e "s/^host = .*$/host = $MYSQL_HOST/g" $QUANTUM_LB_CONFIG_FILE
     fi
     if [[ -e $QUANTUM_DIR/etc/quantum.conf ]]; then
         sudo mv $QUANTUM_DIR/etc/quantum.conf $QUANTUM_CONF_DIR/quantum.conf
@@ -1103,6 +1113,17 @@
        # Start up the quantum <-> linuxbridge agent
        install_package bridge-utils
        sudo sed -i -e "s/^physical_interface = .*$/physical_interface = $QUANTUM_LB_PRIVATE_INTERFACE/g" $QUANTUM_LB_CONFIG_FILE
+       if grep -Fxq "user = " $QUANTUM_LB_CONFIG_FILE
+       then
+           sudo sed -i -e "s/^connection = sqlite$/#connection = sqlite/g" $QUANTUM_LB_CONFIG_FILE
+           sudo sed -i -e "s/^#connection = mysql$/connection = mysql/g" $QUANTUM_LB_CONFIG_FILE
+           sudo sed -i -e "s/^user = .*$/user = $MYSQL_USER/g" $QUANTUM_LB_CONFIG_FILE
+           sudo sed -i -e "s/^pass = .*$/pass = $MYSQL_PASSWORD/g" $QUANTUM_LB_CONFIG_FILE
+           sudo sed -i -e "s/^host = .*$/host = $MYSQL_HOST/g" $QUANTUM_LB_CONFIG_FILE
+       else
+           sudo sed -i -e "s/^sql_connection =.*$/sql_connection = mysql:\/\/$MYSQL_USER:$MYSQL_PASSWORD@$MYSQL_HOST\/quantum_linux_bridge?charset=utf8/g" $QUANTUM_LB_CONFIG_FILE
+       fi
+
        screen_it q-agt "sleep 4; sudo python $QUANTUM_DIR/quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py $QUANTUM_LB_CONFIG_FILE -v"
     fi
 fi