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 <u9012...@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 --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)) -- 2.5.0 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev