As ovsdb-server creates pid file before unixctl socket, waiting for pid file creation is not enough. Fix the race by retrying with "version" command before assuming the server is up.
Signed-off-by: YAMAMOTO Takashi <yamam...@ovn.org> --- tests/ovsdb-server.at | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/ovsdb-server.at b/tests/ovsdb-server.at index 7b7fb40..0ed7e87 100644 --- a/tests/ovsdb-server.at +++ b/tests/ovsdb-server.at @@ -270,6 +270,7 @@ AT_CHECK([kill -SEGV `cat ovsdb-server.pid`]) OVS_WAIT_WHILE([kill -0 `cat old.pid`]) OVS_WAIT_UNTIL( [test -s ovsdb-server.pid && test `cat ovsdb-server.pid` != `cat old.pid`]) +OVS_WAIT_UNTIL([ovs-appctl -t ovsdb-server version]) AT_CHECK([ovs-appctl -t ovsdb-server ovsdb-server/list-dbs], [0], [constraints ordinals @@ -301,6 +302,7 @@ AT_CHECK([kill -SEGV `cat ovsdb-server.pid`]) OVS_WAIT_WHILE([kill -0 `cat old.pid`]) OVS_WAIT_UNTIL( [test -s ovsdb-server.pid && test `cat ovsdb-server.pid` != `cat old.pid`]) +OVS_WAIT_UNTIL([ovs-appctl -t ovsdb-server version]) AT_CHECK([ovs-appctl -t ovsdb-server ovsdb-server/list-dbs], [0], [ordinals ]) @@ -450,6 +452,7 @@ AT_CHECK([kill -SEGV `cat ovsdb-server.pid`]) OVS_WAIT_WHILE([kill -0 `cat old.pid`]) OVS_WAIT_UNTIL( [test -s ovsdb-server.pid && test `cat ovsdb-server.pid` != `cat old.pid`]) +OVS_WAIT_UNTIL([ovs-appctl -t ovsdb-server version]) OVS_WAIT_UNTIL([test -S socket1]) OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP @@ -484,6 +487,7 @@ AT_CHECK([kill -SEGV `cat ovsdb-server.pid`]) OVS_WAIT_WHILE([kill -0 `cat old.pid`]) OVS_WAIT_UNTIL( [test -s ovsdb-server.pid && test `cat ovsdb-server.pid` != `cat old.pid`]) +OVS_WAIT_UNTIL([ovs-appctl -t ovsdb-server version]) AT_CHECK([test ! -e socket1]) OVS_APP_EXIT_AND_WAIT([ovsdb-server]) AT_CLEANUP -- 2.5.4 (Apple Git-61) _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev