The patch adds the caller's information of ovs_vsctl() in order
to assist debugging. The caller's information is formatted as
"(filename, line number)".
An example:
> ovsdb-tool show-log
record 183: 2015-12-22 21:12:26.050 "ovs-vsctl: ovs-vsctl --no-wait
add-br br0 -- comment (FILE:./ifupdown.sh,LINE:81)"
---
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 --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 3244520..847d0ee 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
@@ -59,6 +60,9 @@ def call_prog(prog, args_list):
return output
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))
def ovs_ofctl(args):
--
2.5.0
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev