[ovs-dev] [PATCH 2/4] ovn-nb: Northbound DB schema changes for DPDK/userspace tunneling support in OVN-Openstack integration.

Sugesh Chandran sugesh.chandran at intel.com
Mon Aug 24 12:47:11 UTC 2015


From: sugeshch <sugesh.chandran at intel.com>

This patch contains changes for OVN northbound DB schema to expose Openvswitch/
hypervisor details to CMS. A new table named 'Sys_Info is created in the OVN
Northbound DB. Each row in the table holds information about a chassis.

Signed-off-by: Sugesh Chandran <sugesh.chandran at intel.com>
---
 ovn/ovn-nb.ovsschema |  9 +++++++++
 ovn/ovn-nb.xml       | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+)

diff --git a/ovn/ovn-nb.ovsschema b/ovn/ovn-nb.ovsschema
index f17b649..7a726ce 100644
--- a/ovn/ovn-nb.ovsschema
+++ b/ovn/ovn-nb.ovsschema
@@ -1,6 +1,15 @@
 {
     "name": "OVN_Northbound",
     "tables": {
+        "Sys_Info": {
+            "columns": {
+                "hostname": {"type": "string"},
+                "host_bridge": { "type": "string"},
+                "host_bridge_type": {"type": {"key": {
+                           "type": "string",
+                           "enum": ["set", ["netdev", "system"]]}}},
+                "port_types": { "type": "string"}},
+            "indexes": [["hostname"]]},
         "Logical_Switch": {
             "columns": {
                 "name": {"type": "string"},
diff --git a/ovn/ovn-nb.xml b/ovn/ovn-nb.xml
index ade8164..ac51b4b 100644
--- a/ovn/ovn-nb.xml
+++ b/ovn/ovn-nb.xml
@@ -30,6 +30,53 @@
     </dd>
   </dl>
 
+  <table name="Sys_Info" title="OVN Chassis Info">
+    <p>
+      Each row in the table,<code>Sys_Info</code> stands for a hypervisor in OVN
+      setup. The capabilities of the hypervisor such as supported port types,
+      integration bridge name and integration bridge datapath type can be found
+      in this table. The CMS uses the data from the table to configure VMs on
+      a particular hypervisor.
+    </p>
+
+    <column name="hostname">
+      <p>
+        Human readable name/hostname for every hypervisor.
+      </p>
+    </column>
+
+    <column name="host_bridge">
+      <p>
+        The name of the integration bridge. The name is taken from the column,
+        <ref column="ovn_bridge" table="PN_sysinfo" db="OVN_Southbound"/> in
+        OVN Southbound DB's <ref table="PN_sysinfo" db="OVN_Southbound"/> table.
+        The CMS connects VMs to this bridge on a node specified by
+        <code>hostname</code>.
+      </p>
+    </column>
+
+    <column name="host_bridge_type">
+      <p>
+        The host bridge type is taken from the column, <ref column=
+        "ovn_bridge_type" table="PN_sysinfo" db="OVN_Southbound"/> in OVN
+        Southbound DB's <ref table="PN_sysinfo" db="OVN_Southbound"/> table. It
+        holds the datapath type of host integration bridge specified by <code>
+        host_bridge</code> on a hypervisor. This value can be either netdev or
+        system. The netdev refers to userspace datapath and system refers to
+        kernel datapath.
+      </p>
+    </column>
+
+    <column name="port_types">
+      <p>
+        The supported port types for the specific hypervisor is taken from
+        <ref column="port_types" table="PN_sysinfo" db="OVN_Southbound"/>
+        in OVN Southbound DB's <ref table="PN_sysinfo" db="OVN_Southbound"/>
+        table.
+      </p>
+    </column>
+  </table>
+
   <table name="Logical_Switch" title="L2 logical switch">
     <p>
       Each row represents one L2 logical switch.
-- 
2.1.4




More information about the dev mailing list