Browse code

Quantum enhancements

1. Calls agent binaries instead of agent files directly
2. Updates for l3 agent with linuxbridge
3. Uses LibvirtHybridOVSBridgeDriver for OVS

Change-Id: I442aee913e515a8af75ac3539be4937c5d9da9fb

Gary Kotton authored on 2012/08/20 22:09:25
Showing 1 changed files
... ...
@@ -1355,8 +1355,7 @@ if is_service_enabled q-agt; then
1355 1355
         if [[ "$OVS_BRIDGE_MAPPINGS" != "" ]]; then
1356 1356
             iniset /$Q_PLUGIN_CONF_FILE OVS bridge_mappings $OVS_BRIDGE_MAPPINGS
1357 1357
         fi
1358
-
1359
-        AGENT_BINARY="$QUANTUM_DIR/quantum/plugins/openvswitch/agent/ovs_quantum_agent.py"
1358
+        AGENT_BINARY="$QUANTUM_DIR/bin/quantum-openvswitch-agent"
1360 1359
     elif [[ "$Q_PLUGIN" = "linuxbridge" ]]; then
1361 1360
         # Setup physical network interface mappings.  Override
1362 1361
         # LB_VLAN_RANGES and LB_INTERFACE_MAPPINGS in localrc for more
... ...
@@ -1367,8 +1366,7 @@ if is_service_enabled q-agt; then
1367 1367
         if [[ "$LB_INTERFACE_MAPPINGS" != "" ]]; then
1368 1368
             iniset /$Q_PLUGIN_CONF_FILE LINUX_BRIDGE physical_interface_mappings $LB_INTERFACE_MAPPINGS
1369 1369
         fi
1370
-
1371
-       AGENT_BINARY="$QUANTUM_DIR/quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py"
1370
+        AGENT_BINARY="$QUANTUM_DIR/bin/quantum-linuxbridge-agent"
1372 1371
     fi
1373 1372
 fi
1374 1373
 
... ...
@@ -1386,8 +1384,6 @@ if is_service_enabled q-dhcp; then
1386 1386
     iniset $Q_DHCP_CONF_FILE DEFAULT debug True
1387 1387
     iniset $Q_DHCP_CONF_FILE DEFAULT use_namespaces $Q_USE_NAMESPACE
1388 1388
 
1389
-    # Update database
1390
-    iniset $Q_DHCP_CONF_FILE DEFAULT db_connection "mysql:\/\/$MYSQL_USER:$MYSQL_PASSWORD@$MYSQL_HOST\/$Q_DB_NAME?charset=utf8"
1391 1389
     quantum_setup_keystone $Q_DHCP_CONF_FILE DEFAULT set_auth_url
1392 1390
 
1393 1391
     if [[ "$Q_PLUGIN" = "openvswitch" ]]; then
... ...
@@ -1412,15 +1408,14 @@ if is_service_enabled q-l3; then
1412 1412
 
1413 1413
     iniset $Q_L3_CONF_FILE DEFAULT metadata_ip $Q_META_DATA_IP
1414 1414
     iniset $Q_L3_CONF_FILE DEFAULT use_namespaces $Q_USE_NAMESPACE
1415
-    iniset $Q_L3_CONF_FILE DEFAULT external_network_bridge $PUBLIC_BRIDGE
1416 1415
 
1417 1416
     quantum_setup_keystone $Q_L3_CONF_FILE DEFAULT set_auth_url
1418 1417
     if [[ "$Q_PLUGIN" == "openvswitch" ]]; then
1419 1418
         iniset $Q_L3_CONF_FILE DEFAULT interface_driver quantum.agent.linux.interface.OVSInterfaceDriver
1419
+        iniset $Q_L3_CONF_FILE DEFAULT external_network_bridge $PUBLIC_BRIDGE
1420 1420
         # Set up external bridge
1421 1421
         # Create it if it does not exist
1422 1422
         sudo ovs-vsctl --no-wait -- --may-exist add-br $PUBLIC_BRIDGE
1423
-        sudo ovs-vsctl --no-wait br-set-external-id $PUBLIC_BRIDGE bridge-id $PUBLIC_BRIDGE
1424 1423
         # remove internal ports
1425 1424
         for PORT in `sudo ovs-vsctl --no-wait list-ports $PUBLIC_BRIDGE`; do
1426 1425
             TYPE=$(sudo ovs-vsctl get interface $PORT type)
... ...
@@ -1433,6 +1428,7 @@ if is_service_enabled q-l3; then
1433 1433
         sudo ip addr flush dev $PUBLIC_BRIDGE
1434 1434
     elif [[ "$Q_PLUGIN" = "linuxbridge" ]]; then
1435 1435
         iniset $Q_L3_CONF_FILE DEFAULT interface_driver quantum.agent.linux.interface.BridgeInterfaceDriver
1436
+        iniset $Q_L3_CONF_FILE DEFAULT external_network_bridge ''
1436 1437
     fi
1437 1438
 fi
1438 1439
 
... ...
@@ -1955,17 +1951,20 @@ if is_service_enabled quantum; then
1955 1955
     add_nova_opt "quantum_url=http://$Q_HOST:$Q_PORT"
1956 1956
 
1957 1957
     if [[ "$Q_PLUGIN" = "openvswitch" ]]; then
1958
-        NOVA_VIF_DRIVER="nova.virt.libvirt.vif.LibvirtOpenVswitchDriver"
1959
-        LINUXNET_VIF_DRIVER="nova.network.linux_net.LinuxOVSInterfaceDriver"
1958
+        NOVA_VIF_DRIVER="nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver"
1960 1959
     elif [[ "$Q_PLUGIN" = "linuxbridge" ]]; then
1961 1960
         NOVA_VIF_DRIVER="nova.virt.libvirt.vif.QuantumLinuxBridgeVIFDriver"
1962
-        LINUXNET_VIF_DRIVER="nova.network.linux_net.QuantumLinuxBridgeInterfaceDriver"
1963 1961
     fi
1964
-    add_nova_opt "libvirt_vif_type=ethernet"
1965 1962
     add_nova_opt "libvirt_vif_driver=$NOVA_VIF_DRIVER"
1966 1963
     add_nova_opt "linuxnet_interface_driver=$LINUXNET_VIF_DRIVER"
1967 1964
 else
1968 1965
     add_nova_opt "network_manager=nova.network.manager.$NET_MAN"
1966
+    add_nova_opt "public_interface=$PUBLIC_INTERFACE"
1967
+    add_nova_opt "vlan_interface=$VLAN_INTERFACE"
1968
+    add_nova_opt "flat_network_bridge=$FLAT_NETWORK_BRIDGE"
1969
+    if [ -n "$FLAT_INTERFACE" ]; then
1970
+        add_nova_opt "flat_interface=$FLAT_INTERFACE"
1971
+    fi
1969 1972
 fi
1970 1973
 if is_service_enabled n-vol; then
1971 1974
     add_nova_opt "volume_group=$VOLUME_GROUP"
... ...
@@ -1975,12 +1974,6 @@ if is_service_enabled n-vol; then
1975 1975
 fi
1976 1976
 add_nova_opt "osapi_compute_extension=nova.api.openstack.compute.contrib.standard_extensions"
1977 1977
 add_nova_opt "my_ip=$HOST_IP"
1978
-add_nova_opt "public_interface=$PUBLIC_INTERFACE"
1979
-add_nova_opt "vlan_interface=$VLAN_INTERFACE"
1980
-add_nova_opt "flat_network_bridge=$FLAT_NETWORK_BRIDGE"
1981
-if [ -n "$FLAT_INTERFACE" ]; then
1982
-    add_nova_opt "flat_interface=$FLAT_INTERFACE"
1983
-fi
1984 1978
 add_nova_opt "sql_connection=$BASE_SQL_CONN/nova?charset=utf8"
1985 1979
 add_nova_opt "libvirt_type=$LIBVIRT_TYPE"
1986 1980
 add_nova_opt "libvirt_cpu_mode=none"