diff mbox

[ovs-dev,v2] ovsdb: Expose openvswitch run directory through ovsdb

Message ID 1489067991-4407-1-git-send-email-robertx.wojciechowicz@intel.com
State Accepted
Headers show

Commit Message

Robert Wojciechowicz March 9, 2017, 1:59 p.m. UTC
When using vhost-user client or server mode with openstack,
neutron needs to be able to construct the fully qualified socket path
and pass it to nova.
While the relative vhost-user socket directory is exposed via
the `Open_vSwitch` table (other_config:vhost-sock-dir),
the openvswith run directory is not.
As the full socket path is the combination of the openvswitch run
directory + relative vhost-user socket dir + interface name without
exposing the run directory the full path cannot be calculated.
Since `external_ids` column is meant for storing
key-value pairs for use by external frameworks that integrate
with Open vSwitch it is a perfect place for exposing OVS
run directory.
So this patch adds to the `Open_vSwitch` table `external_ids` column
this key:
1. ovs-run-dir    - OVS run directory

Signed-off-by: Robert Wojciechowicz <robertx.wojciechowicz@intel.com>
Acked-by: Sean K Mooney <sean.k.mooney@intel.com>
---
v2:
- documenting external-ids:ovs-run-dir in vswitch.xml
---
 utilities/ovs-ctl.in | 2 ++
 vswitchd/vswitch.xml | 4 ++++
 2 files changed, 6 insertions(+)

Comments

Robert Wojciechowicz April 5, 2017, 9:53 a.m. UTC | #1
On Thu, Mar 09, 2017 at 01:59:51PM +0000, Robert Wojciechowicz wrote:
> When using vhost-user client or server mode with openstack,
> neutron needs to be able to construct the fully qualified socket path
> and pass it to nova.
> While the relative vhost-user socket directory is exposed via
> the `Open_vSwitch` table (other_config:vhost-sock-dir),
> the openvswith run directory is not.
> As the full socket path is the combination of the openvswitch run
> directory + relative vhost-user socket dir + interface name without
> exposing the run directory the full path cannot be calculated.
> Since `external_ids` column is meant for storing
> key-value pairs for use by external frameworks that integrate
> with Open vSwitch it is a perfect place for exposing OVS
> run directory.
> So this patch adds to the `Open_vSwitch` table `external_ids` column
> this key:
> 1. ovs-run-dir    - OVS run directory
> 
> Signed-off-by: Robert Wojciechowicz <robertx.wojciechowicz@intel.com>
> Acked-by: Sean K Mooney <sean.k.mooney@intel.com>
> ---
> v2:
> - documenting external-ids:ovs-run-dir in vswitch.xml

any comments to this patch?

Br,
Robert
diff mbox

Patch

diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in
index e234937..dd5ba65 100755
--- a/utilities/ovs-ctl.in
+++ b/utilities/ovs-ctl.in
@@ -110,6 +110,8 @@  set_system_ids () {
 
     set "$@" external-ids:hostname="\"$(hostname -f)\""
 
+    set "$@" external-ids:ovs-run-dir="\"$rundir\""
+
     if test X"$SYSTEM_TYPE" != X; then
         set "$@" system-type="\"$SYSTEM_TYPE\""
     else
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index a91be59..fa732ed 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -77,6 +77,10 @@ 
         qualified domain name since version 2.6.2.
       </column>
 
+      <column name="external_ids" key="ovs-run-dir">
+        The run directory of the running Open vSwitch daemon.
+      </column>
+
       <column name="other_config" key="stats-update-interval"
               type='{"type": "integer", "minInteger": 5000}'>
         <p>