Add basic flow columns to interconnect northbound DB and
interconnect Southbound DB.

Those columns will be used by future patches to add basic
support for Information Flow in OVN  interconnect.

Signed-off-by: Mohammad Heib <mh...@redhat.com>
---
 NEWS                |  8 ++++++++
 ovn-ic-nb.ovsschema |  6 ++++--
 ovn-ic-nb.xml       | 17 +++++++++++++++++
 ovn-ic-sb.ovsschema |  8 +++++---
 ovn-ic-sb.xml       | 20 ++++++++++++++++++++
 5 files changed, 54 insertions(+), 5 deletions(-)

diff --git a/NEWS b/NEWS
index acb3b854f..a715c1545 100644
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,14 @@ Post v23.09.0
     external_ids:ovn-openflow-probe-interval configuration option for
     ovn-controller no longer matters and is ignored.
   - Enable PMTU discovery on geneve tunnels for E/W traffic.
+  - OVN Interconnection:
+    * INB provides basic feedback to the CMS about the ISB changes
+      handling status.
+    * IC_NB_Global now have "nb_ic_cfg" and "sb_ic_cfg" columns for
+      for ISB informational status.
+    * IC_SB_Global now have "nb_ic_cfg" column for ISB informational status.
+    * Availability_Zone now have "nb_ic_cfg" column for local AZ
+      informational status.
 
 OVN v23.09.0 - 15 Sep 2023
 --------------------------
diff --git a/ovn-ic-nb.ovsschema b/ovn-ic-nb.ovsschema
index 894db8344..bee174357 100644
--- a/ovn-ic-nb.ovsschema
+++ b/ovn-ic-nb.ovsschema
@@ -1,10 +1,12 @@
 {
     "name": "OVN_IC_Northbound",
-    "version": "1.0.0",
-    "cksum": "45589876 3383",
+    "version": "1.1.0",
+    "cksum": "3964083684 3501",
     "tables": {
         "IC_NB_Global": {
             "columns": {
+                "nb_ic_cfg": {"type": {"key": "integer"}},
+                "sb_ic_cfg": {"type": {"key": "integer"}},
                 "external_ids": {
                     "type": {"key": "string", "value": "string",
                              "min": 0, "max": "unlimited"}},
diff --git a/ovn-ic-nb.xml b/ovn-ic-nb.xml
index 8c53bec3b..2ae9bf6d5 100644
--- a/ovn-ic-nb.xml
+++ b/ovn-ic-nb.xml
@@ -36,6 +36,23 @@
       one row.
     </p>
 
+    <group title="Status">
+      These columns allow a client to track the overall configuration state of
+      the system.
+
+      <column name="nb_ic_cfg">
+        Sequence number for client to increment. When a client modifies the
+        interconnect northbound database configuration and wishes to wait for
+        <code>OVN-ICs</code> to handle this change and update the Interconnect
+        southbound database, it may increment this sequence number.
+      </column>
+      <column name="sb_ic_cfg">
+        Sequence number that one <code>OVN-IC</code> sets to the value of
+        <ref column="nb_ic_cfg"/> after waiting to all the <code>OVN-ICs</code>
+        finish applying their changes to interconnect southbound database.
+      </column>
+    </group>
+
     <group title="Common Columns">
       <column name="external_ids">
         See <em>External IDs</em> at the beginning of this document.
diff --git a/ovn-ic-sb.ovsschema b/ovn-ic-sb.ovsschema
index 1d60b36d1..5baf141cf 100644
--- a/ovn-ic-sb.ovsschema
+++ b/ovn-ic-sb.ovsschema
@@ -1,10 +1,11 @@
 {
     "name": "OVN_IC_Southbound",
-    "version": "1.1.1",
-    "cksum": "3684563024 6914",
+    "version": "1.2.0",
+    "cksum": "1381014956 7032",
     "tables": {
         "IC_SB_Global": {
             "columns": {
+                "nb_ic_cfg": {"type": {"key": "integer"}},
                 "external_ids": {
                     "type": {"key": "string", "value": "string",
                              "min": 0, "max": "unlimited"}},
@@ -24,7 +25,8 @@
             "isRoot": true},
         "Availability_Zone": {
             "columns": {
-                "name": {"type": "string"}},
+                "name": {"type": "string"},
+                "nb_ic_cfg": {"type": {"key": "integer"}}},
             "isRoot": true,
             "indexes": [["name"]]},
         "Gateway": {
diff --git a/ovn-ic-sb.xml b/ovn-ic-sb.xml
index f7e17e113..0368315c7 100644
--- a/ovn-ic-sb.xml
+++ b/ovn-ic-sb.xml
@@ -69,6 +69,20 @@
       one row.
     </p>
 
+    <group title="Status">
+      This column allow a client to track the overall configuration state of
+      the system.
+
+      <column name="nb_ic_cfg">
+        Sequence number for the configuration. When a CMS or
+        <code>ovn-ic-nbctl</code> updates the Interconnect northbound database,
+        it increments the <code>nb_ic_cfg</code> column in the 
<code>NB_IC_Global</code>
+        table in the Interconnect northbound database. when 
<code>OVN-ICs</code> updates
+        the southbound database to bring it up to date with these changes, one
+        <code>OVN-IC</code> 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.
@@ -102,6 +116,12 @@
     <column name="name">
       A name that uniquely identifies the availability zone.
     </column>
+
+    <column name="nb_ic_cfg">
+      This column is used by the <code>OVN-IC</code> to inform
+      that this IC instance is aligned with the changes in INB
+    </column>
+
   </table>
 
   <table name="Gateway" title="Interconnection Gateway Information">
-- 
2.34.3

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to