This change extends devstack to configure the br-ex,
br-<phy> and Xenserver's br-$GUEST_INTERFACE_DEFAULT
datapaths when OVS_DATAPATH_TYPE is set.
Change-Id: I71e590de86e7526e8423140463752d6b3ad14214
Closes-Bug: #1416444
| ... | ... |
@@ -59,7 +59,7 @@ function neutron_plugin_configure_plugin_agent {
|
| 59 | 59 |
OVS_BRIDGE_MAPPINGS=$PHYSICAL_NETWORK:$OVS_PHYSICAL_BRIDGE |
| 60 | 60 |
|
| 61 | 61 |
# Configure bridge manually with physical interface as port for multi-node |
| 62 |
- sudo ovs-vsctl --no-wait -- --may-exist add-br $OVS_PHYSICAL_BRIDGE |
|
| 62 |
+ _neutron_ovs_base_add_bridge $OVS_PHYSICAL_BRIDGE |
|
| 63 | 63 |
fi |
| 64 | 64 |
if [[ "$OVS_BRIDGE_MAPPINGS" != "" ]]; then |
| 65 | 65 |
iniset /$Q_PLUGIN_CONF_FILE ovs bridge_mappings $OVS_BRIDGE_MAPPINGS |
| ... | ... |
@@ -92,7 +92,7 @@ function neutron_plugin_configure_plugin_agent {
|
| 92 | 92 |
# Set up domU's L2 agent: |
| 93 | 93 |
|
| 94 | 94 |
# Create a bridge "br-$GUEST_INTERFACE_DEFAULT" |
| 95 |
- sudo ovs-vsctl --no-wait -- --may-exist add-br "br-$GUEST_INTERFACE_DEFAULT" |
|
| 95 |
+ _neutron_ovs_base_add_bridge "br-$GUEST_INTERFACE_DEFAULT" |
|
| 96 | 96 |
# Add $GUEST_INTERFACE_DEFAULT to that bridge |
| 97 | 97 |
sudo ovs-vsctl add-port "br-$GUEST_INTERFACE_DEFAULT" $GUEST_INTERFACE_DEFAULT |
| 98 | 98 |
|
| ... | ... |
@@ -16,13 +16,21 @@ function is_neutron_ovs_base_plugin {
|
| 16 | 16 |
return 0 |
| 17 | 17 |
} |
| 18 | 18 |
|
| 19 |
+function _neutron_ovs_base_add_bridge {
|
|
| 20 |
+ local bridge=$1 |
|
| 21 |
+ local addbr_cmd="sudo ovs-vsctl --no-wait -- --may-exist add-br $bridge" |
|
| 22 |
+ |
|
| 23 |
+ if [ "$OVS_DATAPATH_TYPE" != "" ] ; then |
|
| 24 |
+ addbr_cmd="$addbr_cmd -- set Bridge $bridge datapath_type=${OVS_DATAPATH_TYPE}"
|
|
| 25 |
+ fi |
|
| 26 |
+ |
|
| 27 |
+ $addbr_cmd |
|
| 28 |
+} |
|
| 29 |
+ |
|
| 19 | 30 |
function _neutron_ovs_base_setup_bridge {
|
| 20 | 31 |
local bridge=$1 |
| 21 | 32 |
neutron-ovs-cleanup |
| 22 |
- sudo ovs-vsctl --no-wait -- --may-exist add-br $bridge |
|
| 23 |
- if [[ $OVS_DATAPATH_TYPE != "" ]]; then |
|
| 24 |
- sudo ovs-vsctl set Bridge $bridge datapath_type=${OVS_DATAPATH_TYPE}
|
|
| 25 |
- fi |
|
| 33 |
+ _neutron_ovs_base_add_bridge $bridge |
|
| 26 | 34 |
sudo ovs-vsctl --no-wait br-set-external-id $bridge bridge-id $bridge |
| 27 | 35 |
} |
| 28 | 36 |
|
| ... | ... |
@@ -93,7 +101,7 @@ function _neutron_ovs_base_configure_l3_agent {
|
| 93 | 93 |
sudo ip link set $Q_PUBLIC_VETH_EX up |
| 94 | 94 |
sudo ip addr flush dev $Q_PUBLIC_VETH_EX |
| 95 | 95 |
else |
| 96 |
- sudo ovs-vsctl -- --may-exist add-br $PUBLIC_BRIDGE |
|
| 96 |
+ _neutron_ovs_base_add_bridge $PUBLIC_BRIDGE |
|
| 97 | 97 |
sudo ovs-vsctl br-set-external-id $PUBLIC_BRIDGE bridge-id $PUBLIC_BRIDGE |
| 98 | 98 |
fi |
| 99 | 99 |
} |