[ovs-dev] [PATCH v4 0/2] Partial cluster support in Python IDL client
nusiddiq at redhat.com
nusiddiq at redhat.com
Tue Aug 7 11:37:19 UTC 2018
From: Numan Siddique <nusiddiq at redhat.com>
Python IDL library is lacking the functionality to connect to the
clustered db servers by providing multiple remotes (like -
"tcp:10.0.0.1:6641, tcp:10.0.0.2:6641, tcp:10.0.0.3:6641") in the
connection string.
This patch adds this functionality to the python idl library.
It still lacks the feature to connect to the master of the cluster.
To add this
- python idl client should monitor and read the '_Server' schema
- connect to the master of the cluster.
I will submit the patch once that is ready. But for now I think this
is good enough for the clients to connect to the cluster dbs.
v3 -> v4
--------
p1 -> As per Ben's suggestion, used the select.poll() to
know the connection status. In case eventlet/gevent is used and
select.poll is monkey patched, then get the original select.poll()
using eventlet.patcher.original/gevent.monkey.get_original
functions.
v2 -> v3
--------
Addressed the review comments from Ben to parse the remote in
db/idl.py
v1 -> v2
--------
Deleted the debug code which I forgot to cleanup when sending v1.
Numan Siddique (2):
ovs python: ovs.stream.open_block() returns success even if the remote
is unreachable
python jsonrpc: Allow jsonrpc_session to have more than one remote.
python/ovs/db/idl.py | 20 ++++++++++-
python/ovs/jsonrpc.py | 39 +++++++++++++++++-----
python/ovs/poller.py | 34 +++++++++++++++++--
python/ovs/socket_util.py | 6 ++--
python/ovs/stream.py | 11 ++++--
tests/automake.mk | 1 +
tests/ovsdb-idl.at | 70 +++++++++++++++++++++++++++++++++++++++
tests/test-ovsdb.py | 13 ++++++--
tests/test-stream.py | 32 ++++++++++++++++++
9 files changed, 208 insertions(+), 18 deletions(-)
create mode 100644 tests/test-stream.py
--
2.17.1
More information about the dev
mailing list