Browse code

Devstack support for Quantum DHCP

Fixes bug 1019462.

A new screen q-dhcp is created for the agent output.

Change-Id: Ie7f21a5f76ea7988ce817568edac7222cf7063d1

Gary Kotton authored on 2012/07/17 07:02:37
Showing 2 changed files
... ...
@@ -14,6 +14,7 @@ Eddie Hebert <edhebert@gmail.com>
14 14
 Eoghan Glynn <eglynn@redhat.com>
15 15
 Eric Windisch <ewindisch@cloudscaling.com>
16 16
 Gabriel Hurley <gabriel@strikeawe.com>
17
+Gary Kotton <gkotton@redhat.com>
17 18
 Hengqing Hu <hudayou@hotmail.com>
18 19
 Hua ZHANG <zhuadl@cn.ibm.com>
19 20
 Jake Dahn <admin@jakedahn.com>
... ...
@@ -1145,6 +1145,37 @@ if is_service_enabled q-agt; then
1145 1145
     screen_it q-agt "sudo python $AGENT_BINARY /$Q_PLUGIN_CONF_FILE -v"
1146 1146
 fi
1147 1147
 
1148
+# Quantum DHCP
1149
+if is_service_enabled q-dhcp; then
1150
+    AGENT_DHCP_BINARY="$QUANTUM_DIR/bin/quantum-dhcp-agent"
1151
+
1152
+    Q_DHCP_CONF_FILE=/etc/quantum/dhcp_agent.ini
1153
+
1154
+    if [[ -e $QUANTUM_DIR/etc/dhcp_agent.ini ]]; then
1155
+      sudo cp $QUANTUM_DIR/etc/dhcp_agent.ini $Q_DHCP_CONF_FILE
1156
+    fi
1157
+
1158
+    # Set verbose
1159
+    iniset $Q_DHCP_CONF_FILE DEFAULT verbose True
1160
+    # Set debug
1161
+    iniset $Q_DHCP_CONF_FILE DEFAULT debug True
1162
+
1163
+    # Update database
1164
+    iniset $Q_DHCP_CONF_FILE DEFAULT db_connection "mysql:\/\/$MYSQL_USER:$MYSQL_PASSWORD@$MYSQL_HOST\/$Q_DB_NAME?charset=utf8"
1165
+    iniset $Q_DHCP_CONF_FILE DEFAULT auth_url "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_AUTH_HOST:$KEYSTONE_AUTH_PORT/v2.0"
1166
+    iniset $Q_DHCP_CONF_FILE DEFAULT admin_tenant_name $SERVICE_TENANT_NAME
1167
+    iniset $Q_DHCP_CONF_FILE DEFAULT admin_user $Q_ADMIN_USERNAME
1168
+    iniset $Q_DHCP_CONF_FILE DEFAULT admin_password $SERVICE_PASSWORD
1169
+
1170
+    if [[ "$Q_PLUGIN" = "openvswitch" ]]; then
1171
+        iniset $Q_DHCP_CONF_FILE DEFAULT interface_driver quantum.agent.linux.interface.OVSInterfaceDriver
1172
+    elif [[ "$Q_PLUGIN" = "linuxbridge" ]]; then
1173
+        iniset $Q_DHCP_CONF_FILE DEFAULT interface_driver quantum.agent.linux.interface.BridgeInterfaceDriver
1174
+    fi
1175
+    # Start up the quantum agent
1176
+    screen_it q-dhcp "sudo python $AGENT_DHCP_BINARY --config-file=$Q_DHCP_CONF_FILE"
1177
+fi
1178
+
1148 1179
 # Melange service
1149 1180
 if is_service_enabled m-svc; then
1150 1181
     if is_service_enabled mysql; then