[ovs-dev] [PATCH ovn v2] ovn.at: Fix test "virtual ports -- ovn-northd-ddlog".

Ben Pfaff blp at ovn.org
Wed Jun 23 17:01:19 UTC 2021


On Mon, Jun 21, 2021 at 06:58:37PM -0700, Han Zhou wrote:
> On Thu, Jun 17, 2021 at 12:59 PM Mark Michelson <mmichels at redhat.com> wrote:
> >
> > On 6/14/21 2:44 PM, Ben Pfaff wrote:
> > > On Fri, Jun 11, 2021 at 03:48:52PM -0700, Han Zhou wrote:
> > >> The test case fails quite often for northd-ddlog because of the tunnel
> > >> keys mismatch when comparing OpenFlow rules. Keys can change in
> > >> different runs. This patch fixes it by extracting the expected keys
> from
> > >> SB DB before comparison instead of hardcoding.
> > >>
> > >> There are some other potential timing issues in this test and this
> > >> patch fixes them as well by replacing AT_CHECK with OVS_WAIT_UNTIL.
> > >>
> > >> Signed-off-by: Han Zhou <hzhou at ovn.org>
> > >
> > > Awesome!  Thank you.
> > >
> > >> -AT_CHECK([test x$(ovn-sbctl --bare --columns chassis find
> port_binding \
> > >> +OVS_WAIT_UNTIL([test x$(ovn-sbctl --bare --columns chassis find
> port_binding \
> > >>   logical_port=sw0-vir) = x], [0], [])
> > >
> > > I think the above can be better written:
> > >      wait_row_count Port_Binding 0 logical_port=sw0-vir
> >
> > I don't think this is correct. The test is not attempting to wait for
> > the Port_Binding record to be deleted. It's waiting for the chassis
> > column in the Port_Binding to contain an empty string. I think
> > wait_column() could work:
> >
> > wait_column "" Port_Binding chassis logical_port=sw0-vir
> >
> > (assuming that testing for an empty string works)
> >
> 
> Thanks Ben and Mark! I used wait_column in v4:
> https://patchwork.ozlabs.org/project/ovn/patch/20210622015529.2005615-1-hzhou@ovn.org/

I see.

This is done elsewhere along the following pattern:
    wait_row_count Port_Binding 1 logical_port=sw0-vir 'chassis=[[]]'

I *think* that wait_column works too.


More information about the dev mailing list