[ovs-dev] [PATCH] tests/ofproto.at: Workaround some races

Ben Pfaff blp at ovn.org
Thu May 4 14:55:57 UTC 2017


On Thu, May 04, 2017 at 12:37:41PM +0200, Timothy M. Redaelli wrote:
> On 05/03/2017 10:28 PM, Ben Pfaff wrote:
> > On Thu, Apr 27, 2017 at 05:24:22PM +0200, Timothy Redaelli wrote:
> >> Port commit a6d1a2997db4:
> >>     ofproto.at: Workaround a race
> >>
> >>     While a barrier serializes requests from the same connection,
> >>     it doesn't wait for requests from other connections to the switch.
> >>     Replace the barrier with infamous "sleep 1" to workaround the problem.
> >>
> >> to the following tests:
> >>     "ofproto - asynchronous message control (OpenFlow 1.0)",
> >>     "ofproto - asynchronous message control (OpenFlow 1.3)",
> >>     "ofproto - asynchronous message control (OpenFlow 1.4)" and
> >>     "ofproto - asynchronous message control (OpenFlow 1.5)"
> >>
> >> Sometimes one of these tests fails because the OFPT_BARRIER_REPLY is
> >> printed before the other message we expect to have.
> >>
> >> Suggested-by: Lance Richardson <lrichard at redhat.com>
> >> Signed-off-by: Timothy Redaelli <tredaelli at redhat.com>
> > 
> > Thanks for working to make the tests more reliable.
> > 
> > Adding "sleep 1" makes tests slower, especially when it's in a loop as
> > it is here.
> > 
> > What if we instead make the test wait until monitor.log grows large
> > enough?  We already have OVS_WAIT_UNTIL, which waits only a short time
> > when it can.
> > 
> > What do you think of this?
> 
> The problem is not that the logfile is not large enough, the problem is
> that we have "reversed" output:
> 
> --- expout      2017-05-04 06:22:03.352044646 -0400
> +++ /root/ovs/tests/testsuite.dir/at-groups/944/stdout  2017-05-04
> 06:22:03.386044787 -0400
> @@ -5,5 +5,5 @@
>       state:      LIVE
>       speed: 0 Mbps now, 0 Mbps max
>  OFPT_FLOW_REMOVED (OF1.4):  reason=delete table_id=0
> -OFPT_FLOW_REMOVED (OF1.4):  reason=group_delete table_id=0
>  OFPT_BARRIER_REPLY (OF1.4):
> +OFPT_FLOW_REMOVED (OF1.4):  reason=group_delete table_id=0
> 

Right, and the patch I'm suggesting also drops the OFPT_BARRIER_REPLY.
The only difference from your patch is that mine generally waits less
time.


More information about the dev mailing list