1. make use of uniform configuration files
2. enables agent and plugin to run on different hosts
Change-Id: I04bab95956e3733c48dcecb6a94042e9666778d3
| ... | ... |
@@ -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 |