summaryrefslogtreecommitdiff
path: root/ovn/ovn-sb.xml
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2016-07-24 13:14:59 -0700
committerBen Pfaff <blp@ovn.org>2016-07-26 23:59:53 -0700
commitfa183acc654f7e5da17cd70fc91d6b5b02782183 (patch)
tree9dc2236c8f5cd5e66e74914a56b091befa069d0f /ovn/ovn-sb.xml
parent763f638b7f34953ccae8b494c63d0dab7f326b41 (diff)
downloadopenvswitch-fa183acc654f7e5da17cd70fc91d6b5b02782183.tar.gz
ovn: Make it possible for CMS to detect when the OVN system is up-to-date.
Until now, there has been no reliable for the CMS (or ovn-nbctl, or anything else) to detect when changes made to the northbound configuration have been passed through to the southbound database or to the hypervisors. This commit adds this feature to the system, by adding sequence numbers to the northbound and southbound databases and adding code in ovn-nbctl, ovn-northd, and ovn-controller to keep those sequence numbers up-to-date. The biggest user-visible change from this commit is new a new option --wait to ovn-nbctl. With --wait=sb, ovn-nbctl now waits for ovn-northd to update the southbound database; with --wait=hv, it waits for the changes to make their way to Open vSwitch on every hypervisor. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Russell Bryant <russell@ovn.org>
Diffstat (limited to 'ovn/ovn-sb.xml')
-rw-r--r--ovn/ovn-sb.xml34
1 files changed, 34 insertions, 0 deletions
diff --git a/ovn/ovn-sb.xml b/ovn/ovn-sb.xml
index 3d26e6531..eac5f7695 100644
--- a/ovn/ovn-sb.xml
+++ b/ovn/ovn-sb.xml
@@ -137,6 +137,33 @@
</dd>
</dl>
+ <table name="SB_Global" title="Southbound configuration">
+ <p>
+ Southbound configuration for an OVN system. This table must have exactly
+ one row.
+ </p>
+
+ <group title="Status">
+ This column allow a client to track the overall configuration state of
+ the system.
+
+ <column name="nb_cfg">
+ Sequence number for the configuration. When a CMS or
+ <code>ovn-nbctl</code> updates the northbound database, it increments
+ the <code>nb_cfg</code> column in the <code>NB_Global</code> table in
+ the northbound database. In turn, when <code>ovn-northd</code> updates
+ the southbound database to bring it up to date with these changes, it
+ updates this column to the same value.
+ </column>
+ </group>
+
+ <group title="Common Columns">
+ <column name="external_ids">
+ See <em>External IDs</em> at the beginning of this document.
+ </column>
+ </group>
+ </table>
+
<table name="Chassis" title="Physical Network Hypervisor and Gateway Information">
<p>
Each row in this table represents a hypervisor or gateway (a chassis) in
@@ -172,6 +199,13 @@
ovn-controller-vtep will leave this column empty.
</column>
+ <column name="nb_cfg">
+ Sequence number for the configuration. When <code>ovn-controller</code>
+ updates the configuration of a chassis from the contents of the
+ southbound database, it copies <ref table="SB_Global" column="nb_cfg"/>
+ from the <ref table="SB_Global"/> table into this column.
+ </column>
+
<column name="external_ids" key="ovn-bridge-mappings">
<code>ovn-controller</code> populates this key with the set of bridge
mappings it has been configured to use. Other applications should treat