[ovs-dev] [PATCH] tests: Fix timing dependency bridge - multiple bridges share a controller
Greg Rose
gvrose8192 at gmail.com
Wed May 17 19:09:34 UTC 2017
On Wed, May 17, 2017 at 11:37 AM, Andy Zhou <azhou at ovn.org> wrote:
> Without the fix, this test currently consistently fail when running
> on Travis CI. Connecting to the controller can take more time than
> running locally. Because the exact connecting time is variable, the
> exact output should not be used for correctness checking.
>
> Fixes: 85c55772a453(bridge: Fix controller status update)
> Signed-off-by: Andy Zhou <azhou at ovn.org>
> ---
> tests/bridge.at | 23 +++++++++++++++--------
> 1 file changed, 15 insertions(+), 8 deletions(-)
Is this the breakage in the TESTSUITE=1 builds that I'm seeing here:
https://travis-ci.org/gvrose8192/ovs-experimental
- Greg
>
> diff --git a/tests/bridge.at b/tests/bridge.at
> index 58b27d445062..cc7619d3f035 100644
> --- a/tests/bridge.at
> +++ b/tests/bridge.at
> @@ -49,23 +49,30 @@ OVS_VSWITCHD_START(
>
> dnl Start ovs-testcontroller
> AT_CHECK([ovs-testcontroller --detach punix:controller], [0], [ignore])
> +OVS_WAIT_UNTIL([test -e controller])
>
> dnl Add the controller to both bridges, 5 seconds apart.
> AT_CHECK([ovs-vsctl set-controller br0 unix:controller])
> +AT_CHECK([ovs-vsctl set-fail-mode br0 secure])
> AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
> AT_CHECK([ovs-vsctl set-controller br1 unix:controller])
> +AT_CHECK([ovs-vsctl set-fail-mode br1 secure])
>
> -dnl Wait for the controller connection to come up
> -for i in `seq 0 7`
> +dnl Wait for the controller connectionsi to be up
> +for i in `seq 0 19`
> do
> - AT_CHECK([ovs-appctl time/warp 10], [0], [ignore])
> + if ovs-vsctl --column=is_connected list controller |grep "false"; then
> + :
> + else
> + break
> + fi
> + ovs-appctl time/warp 1100
> done
>
> -dnl Make sure the connection status are different
> -AT_CHECK([ovs-vsctl --columns=status list controller | sort], [0], [dnl
> -
> -status : {sec_since_connect="0", state=ACTIVE}
> -status : {sec_since_connect="5", state=ACTIVE}
> +dnl Make sure the connection status have two records and they are different.
> +dnl (The exact output contains timing information that are machine dependent.)
> +AT_CHECK([ovs-vsctl --column=status list controller | dnl
> + grep "status" | sort -u |wc -l], [0], [2
> ])
>
> OVS_APP_EXIT_AND_WAIT([ovs-vswitchd])
> --
> 1.8.3.1
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
More information about the dev
mailing list