diff mbox

[ovs-dev,v2,2/2] ovs-vsctl: add caller's information to comment

Message ID 1452626932-106395-2-git-send-email-u9012063@gmail.com
State Changes Requested
Headers show

Commit Message

William Tu Jan. 12, 2016, 7:28 p.m. UTC
This patch add caller's filename and line number when calling ovs-vsctl.
For example, a script "vsctl.sh" adding br0 at line 9 shows:
    ovs-vsctl add-br br0 -- comment (FILE:./vsctl.sh,LINE:9)

Signed-off-by: William Tu <u9012063@gmail.com>
---
 debian/ifupdown.sh                       | 9 ++++++++-
 ovn/utilities/ovn-docker-overlay-driver  | 5 ++++-
 ovn/utilities/ovn-docker-underlay-driver | 5 ++++-
 utilities/ovs-ctl.in                     | 9 ++++++++-
 utilities/ovs-docker                     | 8 +++++++-
 utilities/ovs-save                       | 8 +++++++-
 utilities/ovs-vsctl-bashcomp.bash        | 9 ++++++++-
 vtep/ovs-vtep                            | 4 ++++
 8 files changed, 50 insertions(+), 7 deletions(-)
diff mbox

Patch

diff --git a/debian/ifupdown.sh b/debian/ifupdown.sh
index fe15b71..22a8600 100755
--- a/debian/ifupdown.sh
+++ b/debian/ifupdown.sh
@@ -22,7 +22,14 @@  if [ -z "${IF_OVS_TYPE}" ]; then
 fi
 
 ovs_vsctl() {
-    ovs-vsctl --timeout=5 "$@"
+    local stack=""
+
+    stack=`caller 0`
+    lineno=`echo $stack | awk '{print $1}'`
+    filename=`echo $stack | awk '{print $3}'`
+    msg="(FILE:$filename,LINE:$lineno)"
+
+    ovs-vsctl --timeout=5 "$@" -- comment $msg
 }
 
 if (ovs_vsctl --version) > /dev/null 2>&1; then :; else
diff --git a/ovn/utilities/ovn-docker-overlay-driver b/ovn/utilities/ovn-docker-overlay-driver
index 26ed1fe..b560cf3 100755
--- a/ovn/utilities/ovn-docker-overlay-driver
+++ b/ovn/utilities/ovn-docker-overlay-driver
@@ -23,6 +23,7 @@  import re
 import shlex
 import subprocess
 import sys
+import traceback
 
 import ovs.dirs
 import ovs.util
@@ -59,7 +60,9 @@  def call_prog(prog, args_list):
 
 
 def ovs_vsctl(*args):
-    return call_prog("ovs-vsctl", list(args))
+    filename, lineno, funname, exe = traceback.extract_stack(limit=2)[0]
+    comments = " -- comment (FILE:" + filename + ",LINE:" + str(lineno) + ")"
+    return call_prog("ovs-vsctl", list(args) + shlex.split(comments))
 
 
 def ovn_nbctl(*args):
diff --git a/ovn/utilities/ovn-docker-underlay-driver b/ovn/utilities/ovn-docker-underlay-driver
index 2c9c4b6..b2cbf3e 100755
--- a/ovn/utilities/ovn-docker-underlay-driver
+++ b/ovn/utilities/ovn-docker-underlay-driver
@@ -24,6 +24,7 @@  import subprocess
 import sys
 import time
 import uuid
+import traceback
 
 import ovs.dirs
 import ovs.util
@@ -68,7 +69,9 @@  def call_prog(prog, args_list):
 
 
 def ovs_vsctl(*args):
-    return call_prog("ovs-vsctl", list(args))
+    filename, lineno, funname, exe = traceback.extract_stack(limit=2)[0]
+    comments = " -- comment (FILE:" + filename + ",LINE:" + str(lineno) + ")"
+    return call_prog("ovs-vsctl", list(args) + shlex.split(comments))
 
 
 def cleanup():
diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in
index 0082bed..e17860e 100755
--- a/utilities/ovs-ctl.in
+++ b/utilities/ovs-ctl.in
@@ -73,7 +73,14 @@  insert_mod_if_required () {
 }
 
 ovs_vsctl () {
-    ovs-vsctl --no-wait "$@"
+    local stack=""
+
+    stack=`caller 0`
+    lineno=`echo $stack | awk '{print $1}'`
+    filename=`echo $stack | awk '{print $3}'`
+    msg="(FILE:$filename,LINE:$lineno)"
+
+    ovs-vsctl --no-wait "$@" -- comment $msg
 }
 
 set_system_ids () {
diff --git a/utilities/ovs-docker b/utilities/ovs-docker
index 43cea54..1b1ccc6 100755
--- a/utilities/ovs-docker
+++ b/utilities/ovs-docker
@@ -29,7 +29,13 @@  search_path () {
 }
 
 ovs_vsctl () {
-    ovs-vsctl --timeout=60 "$@"
+    local stack=""
+    stack=`caller 0`
+    lineno=`echo $stack | awk '{print $1}'`
+    filename=`echo $stack | awk '{print $3}'`
+    msg="(FILE:$filename,LINE:$lineno)"
+
+    ovs-vsctl --timeout=60 "$@" -- comment $msg
 }
 
 create_netns_link () {
diff --git a/utilities/ovs-save b/utilities/ovs-save
index bcaf27c..6b1111f 100755
--- a/utilities/ovs-save
+++ b/utilities/ovs-save
@@ -116,7 +116,13 @@  save_flows () {
 }
 
 ovs_vsctl () {
-    ovs-vsctl --no-wait "$@"
+    local stack=""
+    stack=`caller 0`
+    lineno=`echo $stack | awk '{print $1}'`
+    filename=`echo $stack | awk '{print $3}'`
+    msg="(FILE:$filename,LINE:$lineno)"
+
+    ovs-vsctl --no-wait "$@" -- comment $msg
 }
 
 save_ofports ()
diff --git a/utilities/ovs-vsctl-bashcomp.bash b/utilities/ovs-vsctl-bashcomp.bash
index a3273f8..fadc47f 100755
--- a/utilities/ovs-vsctl-bashcomp.bash
+++ b/utilities/ovs-vsctl-bashcomp.bash
@@ -7,11 +7,18 @@  _OVSDB_SERVER_LOCATION=""
 # the correct --db argument.
 _ovs_vsctl () {
     local _db
+    local stack=""
 
     if [ -n "$_OVSDB_SERVER_LOCATION" ]; then
         _db="--db=$_OVSDB_SERVER_LOCATION"
     fi
-    ovs-vsctl ${_db} "$@"
+
+    stack=`caller 0`
+    lineno=`echo $stack | awk '{print $1}'`
+    filename=`echo $stack | awk '{print $3}'`
+    msg="(FILE:$filename,LINE:$lineno)"
+
+    ovs-vsctl ${_db} "$@" -- comment $msg
 }
 
 # ovs-vsctl --commands outputs in this format:
diff --git a/vtep/ovs-vtep b/vtep/ovs-vtep
index dd5b1a7..4ad5e40 100755
--- a/vtep/ovs-vtep
+++ b/vtep/ovs-vtep
@@ -23,6 +23,7 @@  import subprocess
 import sys
 import time
 import types
+import traceback
 
 import ovs.dirs
 import ovs.util
@@ -61,6 +62,9 @@  def call_prog(prog, args_list):
 
 
 def ovs_vsctl(args):
+    filename, lineno, funname, exe = traceback.extract_stack(limit=2)[0]
+    comments = " -- comment (FILE:" + filename + ",LINE:" + str(lineno) + ")"
+    args += comments
     return call_prog("ovs-vsctl", shlex.split(args))