Fix several issues with devstack and Quantum + OVS plugin

- flag telling nova quantum manager to use DHCP is incorrect
- OVS quantum plugin no longer has default sql_connection string.
- only run quantum OVS agent is openvswitch is enabled
- add ovs-vsctl to sudoers file.

Change-Id: I1e9b3fe987b3e29d0d4f670b2d964777d9cc3e1b
This commit is contained in:
Dan Wendlandt 2012-01-16 14:46:01 -08:00
parent 9bd4e353bb
commit f5fb057a8d
2 changed files with 7 additions and 3 deletions

View File

@ -41,6 +41,7 @@ Cmnd_Alias NOVADEVCMDS = /bin/chmod /var/lib/nova/tmp/*/root/.ssh, \
/usr/bin/socat, \ /usr/bin/socat, \
/sbin/parted, \ /sbin/parted, \
/usr/sbin/dnsmasq, \ /usr/sbin/dnsmasq, \
/usr/bin/ovs-vsctl, \
/usr/sbin/arping /usr/sbin/arping
%USER% ALL = (root) NOPASSWD: SETENV: NOVADEVCMDS %USER% ALL = (root) NOPASSWD: SETENV: NOVADEVCMDS

View File

@ -1104,7 +1104,7 @@ if [[ "$ENABLED_SERVICES" =~ "quantum" ]]; then
add_nova_flag "--libvirt_vif_type=ethernet" add_nova_flag "--libvirt_vif_type=ethernet"
add_nova_flag "--libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtOpenVswitchDriver" add_nova_flag "--libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtOpenVswitchDriver"
add_nova_flag "--linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver" add_nova_flag "--linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver"
add_nova_flag "--quantum-use-dhcp" add_nova_flag "--quantum_use_dhcp"
fi fi
else else
add_nova_flag "--network_manager=nova.network.manager.$NET_MAN" add_nova_flag "--network_manager=nova.network.manager.$NET_MAN"
@ -1315,10 +1315,13 @@ if [[ "$ENABLED_SERVICES" =~ "q-agt" ]]; then
sudo ovs-vsctl --no-wait -- --if-exists del-br $OVS_BRIDGE sudo ovs-vsctl --no-wait -- --if-exists del-br $OVS_BRIDGE
sudo ovs-vsctl --no-wait add-br $OVS_BRIDGE sudo ovs-vsctl --no-wait add-br $OVS_BRIDGE
sudo ovs-vsctl --no-wait br-set-external-id $OVS_BRIDGE bridge-id br-int sudo ovs-vsctl --no-wait br-set-external-id $OVS_BRIDGE bridge-id br-int
fi
# Start up the quantum <-> openvswitch agent # Start up the quantum <-> openvswitch agent
screen_it q-agt "sleep 4; sudo python $QUANTUM_DIR/quantum/plugins/openvswitch/agent/ovs_quantum_agent.py $QUANTUM_DIR/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini -v" QUANTUM_OVS_CONFIG_FILE=$QUANTUM_DIR/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini
sed -i -e "s/^sql_connection =.*$/sql_connection = mysql:\/\/$MYSQL_USER:$MYSQL_PASSWORD@$MYSQL_HOST\/ovs_quantum/g" $QUANTUM_OVS_CONFIG_FILE
screen_it q-agt "sleep 4; sudo python $QUANTUM_DIR/quantum/plugins/openvswitch/agent/ovs_quantum_agent.py $QUANTUM_OVS_CONFIG_FILE -v"
fi
fi fi
# If we're using Quantum (i.e. q-svc is enabled), network creation has to # If we're using Quantum (i.e. q-svc is enabled), network creation has to