blob: 915129e10e0c8ec6701d20cf67e720bbb41e2f70 [file] [log] [blame]
Isaku Yamahata0dd34df2012-12-28 13:15:31 +09001# common functions for ovs based plugin
2# -------------------------------------
3
4# Save trace setting
Dean Troyer8d55be32013-02-07 17:16:35 -06005MY_XTRACE=$(set +o | grep xtrace)
Isaku Yamahata0dd34df2012-12-28 13:15:31 +09006set +o xtrace
7
8function is_quantum_ovs_base_plugin() {
9 # Yes, we use OVS.
10 return 0
11}
12
13function _quantum_ovs_base_setup_bridge() {
14 local bridge=$1
Davanum Srinivas88a3bc12013-02-04 09:16:14 -050015 quantum-ovs-cleanup
Isaku Yamahata0dd34df2012-12-28 13:15:31 +090016 sudo ovs-vsctl --no-wait -- --may-exist add-br $bridge
17 sudo ovs-vsctl --no-wait br-set-external-id $bridge bridge-id $bridge
18}
19
20function _quantum_ovs_base_install_agent_packages() {
21 local kernel_version
22 # Install deps
23 # FIXME add to ``files/apts/quantum``, but don't install if not needed!
24 if is_ubuntu; then
25 kernel_version=`cat /proc/version | cut -d " " -f3`
26 install_package make fakeroot dkms openvswitch-switch openvswitch-datapath-dkms linux-headers-$kernel_version
Gary Kotton5452b182013-02-25 13:02:38 +000027 elif is_fedora; then
28 install_package openvswitch
29 # Ensure that the service is started
30 restart_service openvswitch
31 elif is_suse; then
32 ### FIXME: Find RPMs for OpenVSwitch
Isaku Yamahata0dd34df2012-12-28 13:15:31 +090033 echo "OpenVSwitch packages need to be located"
Isaku Yamahata0dd34df2012-12-28 13:15:31 +090034 restart_service openvswitch
35 fi
36}
37
38function _quantum_ovs_base_configure_debug_command() {
39 iniset $QUANTUM_TEST_CONFIG_FILE DEFAULT external_network_bridge $PUBLIC_BRIDGE
40}
41
42function _quantum_ovs_base_configure_l3_agent() {
43 iniset $Q_L3_CONF_FILE DEFAULT external_network_bridge $PUBLIC_BRIDGE
44
Davanum Srinivas88a3bc12013-02-04 09:16:14 -050045 quantum-ovs-cleanup
Isaku Yamahata0dd34df2012-12-28 13:15:31 +090046 sudo ovs-vsctl --no-wait -- --may-exist add-br $PUBLIC_BRIDGE
47 # ensure no IP is configured on the public bridge
48 sudo ip addr flush dev $PUBLIC_BRIDGE
49}
50
51# Restore xtrace
Dean Troyer8d55be32013-02-07 17:16:35 -060052$MY_XTRACE