[ovs-dev] [master] test: Fix intermittent failure.

Alex Wang alexw at nicira.com
Tue Dec 23 21:08:48 UTC 2014


On Tue, Dec 23, 2014 at 10:15 AM, Joe Stringer <joestringer at nicira.com>
wrote:

> I welcome any fix this improves the intermittent testsuite failures :D
>
> On 23 December 2014 at 09:03, Alex Wang <alexw at nicira.com> wrote:
> > This commit fixes the intermittent failure of test (ofproto-dpif,
> > balance-tcp bonding, different recirc flow), by waiting for all
> > bond interfaces to be enabled, and by waiting for datapath flow
> > installation finish before purging it.
> >
> > Signed-off-by: Alex Wang <alexw at nicira.com>
> > ---
> >  tests/ofproto-dpif.at |    5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at
> > index 55c3e90..1dc971d 100644
> > --- a/tests/ofproto-dpif.at
> > +++ b/tests/ofproto-dpif.at
> > @@ -174,6 +174,9 @@ OVS_VSWITCHD_START(
> >  AT_CHECK([ovs-appctl netdev-dummy/set-admin-state up], 0, [OK
> >  ])
> >
> > +# Waits for all ifaces enabled.
> > +OVS_WAIT_UNTIL([test `ovs-appctl bond/show | grep -- "may_enable: true"
> |  wc -l` -ge 4])
> > +
> >  # The dl_vlan flow should not be ever matched,
> >  # since recirculation should not change the flow handling.
> >  AT_DATA([flows.txt], [dnl
> > @@ -186,6 +189,8 @@ AT_CHECK([ovs-ofctl add-flows br-int flows.txt])
> >  # Should generate recirc_id(0x12d),dp_hash(0xc1261ba2/0xff).
> >  AT_CHECK([ovs-appctl netdev-dummy/receive p5
> "in_port(5),eth(src=50:54:00:00:00:05,dst=50:54:00:00:01:00),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1)"])
> >
> > +ovs-appctl time/warp 5000 100
> > +
> >  # Collects flow stats.
> >  AT_CHECK([ovs-appctl revalidator/purge], [0])
>
> If we're waiting on flow installation to finish, do you think that it
> might be a little more robust to use something like the below?
>


In an offline discussion, for the wait on flow installation here, we think
there
is  a race between flow installation to userspace datapath and revalidators
sweeping at the end of revalidation cycle.  We will try fixing this in a
separate
patch.

So for now, I'll apply the first fix (Waits for all ifaces enabled) only.

Thanks,
Alex Wang,



> ovs-appctl vlog/set dpif:dbg
> (send traffic...)
> OVS_WAIT_UNTIL(test `cat ovs-vswitchd.log | FILTER_FLOW_DUMP | wc-l` -ge
> 4])
>
> Otherwise, LGTM
>
> Acked-by: Joe Stringer <joestringer at nicira.com>
>



More information about the dev mailing list