diff mbox series

[ovs-dev,v5,1/4] OVN-IC: Interconnect DBs add basic Information Flow columns.

Message ID 20240124142740.969176-2-mheib@redhat.com
State Accepted
Headers show
Series OVN-IC: Add basic sequence number status support. | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test success github build: passed
ovsrobot/github-robot-_ovn-kubernetes success github build: passed

Commit Message

Mohammad Heib Jan. 24, 2024, 2:27 p.m. UTC
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 <mheib@redhat.com>
Acked-by: Mark Michelson <mmichels@redhat.com>
Acked-by: Ales Musil <amusil@redhat.com>
---
 NEWS                |  8 ++++++++
 ovn-ic-nb.ovsschema |  6 ++++--
 ovn-ic-nb.xml       | 17 +++++++++++++++++
 ovn-ic-sb.ovsschema |  8 +++++---
 ovn-ic-sb.xml       | 21 +++++++++++++++++++++
 5 files changed, 55 insertions(+), 5 deletions(-)
diff mbox series

Patch

diff --git a/NEWS b/NEWS
index 5f267b4c6..9762af0e6 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,14 @@  Post v23.09.0
   - ovn-northd-ddlog has been removed.
   - A new LSP option "enable_router_port_acl" has been added to enable
     conntrack for the router port whose peer is l3dgw_port if set it true.
+  - 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..c3e7d2173 100644
--- a/ovn-ic-sb.xml
+++ b/ovn-ic-sb.xml
@@ -69,6 +69,21 @@ 
       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 +117,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">