diff options
author | Ilya Maximets <i.maximets@ovn.org> | 2021-06-10 18:47:14 +0200 |
---|---|---|
committer | Ilya Maximets <i.maximets@ovn.org> | 2021-06-11 01:11:57 +0200 |
commit | c5a58ec155d89addeaff73cef95dc5f0dce2ef97 (patch) | |
tree | 92c6896ba3a687a8d3408751cb623d884cc3ed57 /tests/ovsdb-cluster.at | |
parent | 04f8881f5795483968987d6d7e8b522c11f2d06e (diff) | |
download | openvswitch-c5a58ec155d89addeaff73cef95dc5f0dce2ef97.tar.gz |
python: idl: Allow retry even when using a single remote.
As described in commit [1], it's possible that remote IP is backed by
a load-balancer and re-connection to this same IP will lead to
connection to a different server. This case is supported for C version
of IDL and should be supported in a same way for python implementation.
[1] ca367fa5f8bb ("ovsdb-idl.c: Allows retry even when using a single remote.")
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Acked-by: Dumitru Ceara <dceara@redhat.com>
Diffstat (limited to 'tests/ovsdb-cluster.at')
-rw-r--r-- | tests/ovsdb-cluster.at | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/tests/ovsdb-cluster.at b/tests/ovsdb-cluster.at index cf43e9cf8..fc6253cfe 100644 --- a/tests/ovsdb-cluster.at +++ b/tests/ovsdb-cluster.at @@ -119,17 +119,26 @@ ovsdb_test_cluster_disconnect () { # Connect to $target. Use "wait" to trigger a non-op transaction so # that test-ovsdb will not quit. - test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -v -t10 idl unix:s$target.ovsdb '[["idltest", + txn='[["idltest", {"op": "wait", "table": "simple", "where": [["i", "==", 1]], "columns": ["i"], "until": "==", - "rows": [{"i": 1}]}]]' > test-ovsdb.log 2>&1 & + "rows": [{"i": 1}]}]]' + + test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -v -t10 idl \ + unix:s$target.ovsdb "$txn" > test-ovsdb.log 2>&1 & echo $! > test-ovsdb.pid OVS_WAIT_UNTIL([grep "000: table simple: i=1" test-ovsdb.log]) + $PYTHON3 $srcdir/test-ovsdb.py -t10 idl $abs_srcdir/idltest.ovsschema \ + unix:s$target.ovsdb "$txn" > test-ovsdb-py.log 2>&1 & + echo $! > test-ovsdb-py.pid + + OVS_WAIT_UNTIL([grep "000: table simple: i=1" test-ovsdb-py.log]) + # Start collecting raft_is_connected logs for $target before shutting down # any servers. tail -f s$target.log > raft_is_connected.log & @@ -142,6 +151,7 @@ ovsdb_test_cluster_disconnect () { # The test-ovsdb should detect the disconnect and retry. OVS_WAIT_UNTIL([grep disconnect test-ovsdb.log]) + OVS_WAIT_UNTIL([grep disconnect test-ovsdb-py.log]) # The $target debug log should show raft_is_connected: false. OVS_WAIT_UNTIL([grep "raft_is_connected: false" raft_is_connected.log]) |