Neutron L3 Agent: Race condition with creation of public bridge

Bug #1328962 reported by Dave Tucker
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
devstack
Fix Released
Undecided
Dave Tucker

Bug Description

./stack.sh fails with the following error:

2014-06-10 00:30:24.107 | + neutron_plugin_configure_l3_agent
2014-06-10 00:30:24.109 | + _neutron_ovs_base_configure_l3_agent
2014-06-10 00:30:24.112 | + iniset /etc/neutron/l3_agent.ini DEFAULT external_network_bridge br-ex
2014-06-10 00:30:24.119 | + neutron-ovs-cleanup
2014-06-10 00:30:24.912 | + sudo ovs-vsctl --no-wait -- --may-exist add-br br-ex
2014-06-10 00:30:24.929 | + sudo ovs-vsctl --no-wait br-set-external-id br-ex bridge-id br-ex
2014-06-10 00:30:24.945 | + sudo ip addr flush dev br-ex
2014-06-10 00:30:25.052 | Device "br-ex" does not exist.

This can be seen on the OpenDaylight Jenkins CI for neutron.
https://jenkins.opendaylight.org/ovsdb/job/openstack-gerrit/643/consoleFull

The public bridge is actually created by "ovs-vsctl" and can be seen from "ovs-vsctl show"
There is a race condition here where the bridge is either not created of not up when the 'ip addr flush dev br-ex" command is issued which causes ./stack.sh to error out.

Dave Tucker (davetucker)
Changed in devstack:
assignee: nobody → Dave Tucker (davetucker)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to devstack (master)

Fix proposed to branch: master
Review: https://review.openstack.org/99414

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to devstack (master)

Reviewed: https://review.openstack.org/99414
Committed: https://git.openstack.org/cgit/openstack-dev/devstack/commit/?id=f60e8c0fbe84f58e416966cdf3f13f289717f6fc
Submitter: Jenkins
Branch: master

commit f60e8c0fbe84f58e416966cdf3f13f289717f6fc
Author: Dave Tucker <email address hidden>
Date: Wed Jun 11 17:02:24 2014 +0100

    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

Changed in devstack:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.