Browse code

Merge "stack.sh: updates for linuxbridge support"

Jenkins authored on 2012/05/11 04:35:56
Showing 1 changed files
... ...
@@ -1045,10 +1045,15 @@ if is_service_enabled q-svc; then
1045 1045
             ### FIXME(dtroyer): Find RPMs for OpenVSwitch
1046 1046
             echo "OpenVSwitch packages need to be located"
1047 1047
         fi
1048
+
1049
+        QUANTUM_OVS_CONF_DIR=$QUANTUM_CONF_DIR/plugins/openvswitch
1050
+        QUANTUM_OVS_CONFIG_FILE=$QUANTUM_OVS_CONF_DIR/ovs_quantum_plugin.ini
1051
+
1048 1052
         # Create database for the plugin/agent
1049 1053
         if is_service_enabled mysql; then
1050 1054
             mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'DROP DATABASE IF EXISTS ovs_quantum;'
1051 1055
             mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE IF NOT EXISTS ovs_quantum CHARACTER SET utf8;'
1056
+            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
1052 1057
         else
1053 1058
             echo "mysql must be enabled in order to use the $Q_PLUGIN Quantum plugin."
1054 1059
             exit 1
... ...
@@ -1063,17 +1068,22 @@ if is_service_enabled q-svc; then
1063 1063
         if is_service_enabled mysql; then
1064 1064
             mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'DROP DATABASE IF EXISTS quantum_linux_bridge;'
1065 1065
             mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE IF NOT EXISTS quantum_linux_bridge;'
1066
+            if grep -Fxq "user = " $QUANTUM_LB_CONFIG_FILE
1067
+            then
1068
+                sudo sed -i -e "s/^connection = sqlite$/#connection = sqlite/g" $QUANTUM_LB_CONFIG_FILE
1069
+                sudo sed -i -e "s/^#connection = mysql$/connection = mysql/g" $QUANTUM_LB_CONFIG_FILE
1070
+                sudo sed -i -e "s/^user = .*$/user = $MYSQL_USER/g" $QUANTUM_LB_CONFIG_FILE
1071
+                sudo sed -i -e "s/^pass = .*$/pass = $MYSQL_PASSWORD/g" $QUANTUM_LB_CONFIG_FILE
1072
+                sudo sed -i -e "s/^host = .*$/host = $MYSQL_HOST/g" $QUANTUM_LB_CONFIG_FILE
1073
+            else
1074
+                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
1075
+            fi
1066 1076
         else
1067 1077
             echo "mysql must be enabled in order to use the $Q_PLUGIN Quantum plugin."
1068 1078
             exit 1
1069 1079
         fi
1070
-        # Make sure we're using the linuxbridge plugin and set the mysql hostname, username and password in the config file
1080
+        # Make sure we're using the linuxbridge plugin
1071 1081
         sudo sed -i -e "s/^provider =.*$/provider = quantum.plugins.linuxbridge.LinuxBridgePlugin.LinuxBridgePlugin/g" $QUANTUM_PLUGIN_INI_FILE
1072
-        sudo sed -i -e "s/^connection = sqlite$/#connection = sqlite/g" $QUANTUM_LB_CONFIG_FILE
1073
-        sudo sed -i -e "s/^#connection = mysql$/connection = mysql/g" $QUANTUM_LB_CONFIG_FILE
1074
-        sudo sed -i -e "s/^user = .*$/user = $MYSQL_USER/g" $QUANTUM_LB_CONFIG_FILE
1075
-        sudo sed -i -e "s/^pass = .*$/pass = $MYSQL_PASSWORD/g" $QUANTUM_LB_CONFIG_FILE
1076
-        sudo sed -i -e "s/^host = .*$/host = $MYSQL_HOST/g" $QUANTUM_LB_CONFIG_FILE
1077 1082
     fi
1078 1083
     if [[ -e $QUANTUM_DIR/etc/quantum.conf ]]; then
1079 1084
         sudo mv $QUANTUM_DIR/etc/quantum.conf $QUANTUM_CONF_DIR/quantum.conf
... ...
@@ -1103,6 +1113,17 @@ if is_service_enabled q-agt; then
1103 1103
        # Start up the quantum <-> linuxbridge agent
1104 1104
        install_package bridge-utils
1105 1105
        sudo sed -i -e "s/^physical_interface = .*$/physical_interface = $QUANTUM_LB_PRIVATE_INTERFACE/g" $QUANTUM_LB_CONFIG_FILE
1106
+       if grep -Fxq "user = " $QUANTUM_LB_CONFIG_FILE
1107
+       then
1108
+           sudo sed -i -e "s/^connection = sqlite$/#connection = sqlite/g" $QUANTUM_LB_CONFIG_FILE
1109
+           sudo sed -i -e "s/^#connection = mysql$/connection = mysql/g" $QUANTUM_LB_CONFIG_FILE
1110
+           sudo sed -i -e "s/^user = .*$/user = $MYSQL_USER/g" $QUANTUM_LB_CONFIG_FILE
1111
+           sudo sed -i -e "s/^pass = .*$/pass = $MYSQL_PASSWORD/g" $QUANTUM_LB_CONFIG_FILE
1112
+           sudo sed -i -e "s/^host = .*$/host = $MYSQL_HOST/g" $QUANTUM_LB_CONFIG_FILE
1113
+       else
1114
+           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
1115
+       fi
1116
+
1106 1117
        screen_it q-agt "sleep 4; sudo python $QUANTUM_DIR/quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py $QUANTUM_LB_CONFIG_FILE -v"
1107 1118
     fi
1108 1119
 fi