summaryrefslogtreecommitdiff
path: root/Documentation/ref
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2017-12-06 11:37:03 -0800
committerBen Pfaff <blp@ovn.org>2018-03-24 12:04:52 -0700
commit10621d795331a3ddddb3e96086a9fda7ad156efc (patch)
tree47f47725201b38e96d2ae1d68cdf3ba18ed03a73 /Documentation/ref
parent6bb9b060d5b0f972461f0c061a865393611fd86a (diff)
downloadopenvswitch-10621d795331a3ddddb3e96086a9fda7ad156efc.tar.gz
ovsdb-server: Add new RPC "set_db_change_aware".
The _Server database recently added to ovsdb-server can be used to dump out information about databases, but monitoring updates to _Server is not yet very useful because for historical reasons ovsdb-server drops all of its OVSDB connections whenever databases are added or removed or otherwise change in some major way. It is not a good idea to change this behavior for all clients, because some of them rely on it, but this commit introduces a new RPC that allows clients that understand _Server to suppress the connection-closing behavior. Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'Documentation/ref')
-rw-r--r--Documentation/ref/ovsdb-server.7.rst43
1 files changed, 43 insertions, 0 deletions
diff --git a/Documentation/ref/ovsdb-server.7.rst b/Documentation/ref/ovsdb-server.7.rst
index cc625f601..2ed392fee 100644
--- a/Documentation/ref/ovsdb-server.7.rst
+++ b/Documentation/ref/ovsdb-server.7.rst
@@ -146,6 +146,19 @@ notifications (see below) to the request, it must be unique among all active
monitors. ``ovsdb-server`` rejects attempt to create two monitors with the
same identifier.
+4.1.7 Monitor Cancellation
+--------------------------
+
+When a database monitored by a session is removed, and database change
+awareness is enabled for the session (see Section 4.1.16), the database server
+spontaneously cancels all monitors (including conditional monitors described in
+Section 4.1.12) for the removed database. For each canceled monitor, it issues
+a notification in the following form::
+
+ "method": "monitor_canceled"
+ "params": [<json-value>]
+ "id": null
+
4.1.12 Monitor_cond
-------------------
@@ -371,6 +384,36 @@ The response object contains the following members::
running OVSDB server process. A fresh UUID is generated when the process
restarts.
+4.1.16 Database Change Awareness
+--------------------------------
+
+RFC 7047 does not provide a way for a client to find out about some kinds of
+configuration changes, such as about databases added or removed while a client
+is connected to the server, or databases changing between read/write and
+read-only due to a transition between active and backup roles. Traditionally,
+``ovsdb-server`` disconnects all of its clients when this happens, because this
+prompts a well-written client to reassess what is available from the server
+when it reconnects.
+
+OVS 2.9 provides a way for clients to keep track of these kinds of changes, by
+monitoring the ``Database`` table in the ``_Server`` database introduced in
+this release (see ``ovsdb-server(5)`` for details). By itself, this does not
+suppress ``ovsdb-server`` disconnection behavior, because a client might
+monitor this database without understanding its special semantics. Instead,
+``ovsdb-server`` provides a special request::
+
+ "method": "set_db_change_aware"
+ "params": [<boolean>]
+ "id": <nonnull-json-value>
+
+If the boolean in the request is true, it suppresses the connection-closing
+behavior for the current connection, and false restores the default behavior.
+The reply is always the same::
+
+ "result": {}
+ "error": null
+ "id": same "id" as request
+
5.1 Notation
------------