Skip to content

Commit

Permalink
ovn-controller-vtep: occasional failure in "binding 1" test case
Browse files Browse the repository at this point in the history
The ovn-controller-vtep "binding 1" test case fails occasionally
due to a race with the ovs-vtep daemon.  If ovs-vtep happens to
execute handle_physical() after "ovs-vsctl del-port p0", but before
the test script has executed "vtep-ctl del-port br-vtep p0", the
latter command will fail because ovs-vtep will have already deleted
p0 from the vtep db.

Eliminate this race while adding an additional check to verify that
ovs-vtep is working as expected by waiting for ovs-vtep to remove
entries for the deleted physical ports from the vtep db.

Signed-off-by: Lance Richardson <lrichard@redhat.com>
Suggested-by: Darrell Ball <dlu998@gmail.com>
Acked-by: Darrell Ball <dlu998@gmail.com>
Signed-off-by: Russell Bryant <russell@ovn.org>
  • Loading branch information
hlrichardson authored and russellb committed Jul 15, 2016
1 parent 3041e1f commit 35cfa38
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion tests/ovn-controller-vtep.at
Expand Up @@ -225,8 +225,9 @@ AT_CHECK([sed -n 's/^.*\(|WARN|.*\)$/\1/p' ovn-controller-vtep.log | sed 's/([[-

# deletes physical ports from vtep.
AT_CHECK([ovs-vsctl del-port p0 -- del-port p1])
AT_CHECK([vtep-ctl del-port br-vtep p0 -- del-port br-vtep p1])
OVS_WAIT_UNTIL([test -z "`ovn-sbctl list Chassis | grep -- br-vtep_lswitch`"])
OVS_WAIT_UNTIL([test -z "`vtep-ctl list physical_port p0`"])
OVS_WAIT_UNTIL([test -z "`vtep-ctl list physical_port p1`"])
# should see empty chassis column in both binding entries.
AT_CHECK_UNQUOTED([ovn-sbctl --columns=chassis list Port_Binding | cut -d ':' -f2 | tr -d ' ' | sort], [0], [dnl

Expand Down

0 comments on commit 35cfa38

Please sign in to comment.