From f60e8c0fbe84f58e416966cdf3f13f289717f6fc Mon Sep 17 00:00:00 2001 From: Dave Tucker Date: Wed, 11 Jun 2014 17:02:24 +0100 Subject: [PATCH] Wait for OVS to reconfigure when creating PUBLIC_BRIDGE The '--no-wait' flag will not wait for ovs-vswitchd to reconfigure after changes have been made to the database. This causes a race condition as the bridge may or may not be up when 'ip addr flush dev $PUBLIC_BRIDGE' is called. This commit removes the '--no-wait' flag which is safe as the openvswitch services are already started earlier in stack.sh Change-Id: I73ef1b731295d03b0f064c5f786196284c3e39ce Closes-bug: #1328962 --- lib/neutron_plugins/ovs_base | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/neutron_plugins/ovs_base b/lib/neutron_plugins/ovs_base index 1e293a187e..e1c3c3f116 100644 --- a/lib/neutron_plugins/ovs_base +++ b/lib/neutron_plugins/ovs_base @@ -65,8 +65,9 @@ function _neutron_ovs_base_configure_l3_agent { iniset $Q_L3_CONF_FILE DEFAULT external_network_bridge $PUBLIC_BRIDGE neutron-ovs-cleanup - sudo ovs-vsctl --no-wait -- --may-exist add-br $PUBLIC_BRIDGE - sudo ovs-vsctl --no-wait br-set-external-id $PUBLIC_BRIDGE bridge-id $PUBLIC_BRIDGE + # --no-wait causes a race condition if $PUBLIC_BRIDGE is not up when ip addr flush is called + sudo ovs-vsctl -- --may-exist add-br $PUBLIC_BRIDGE + sudo ovs-vsctl br-set-external-id $PUBLIC_BRIDGE bridge-id $PUBLIC_BRIDGE # ensure no IP is configured on the public bridge sudo ip addr flush dev $PUBLIC_BRIDGE }