X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=utilities%2Fovs-lib.in;h=48d0c36c87513cb7018d7d9ac3b079c9dfc7b62e;hb=aaea735bb6dad1b37941bd2de4b61a58af55bcde;hp=a441c3d0814907298128784f0c6edb25dc0e31d8;hpb=89bc5283b0f941c38ce6188f52bf3e6aa5d4dbfe;p=sliver-openvswitch.git diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in index a441c3d08..48d0c36c8 100644 --- a/utilities/ovs-lib.in +++ b/utilities/ovs-lib.in @@ -37,9 +37,35 @@ else dbdir='@DBDIR@' fi +ovs_ctl_log () { + echo "$@" >> "${logdir}/ovs-ctl.log" +} + ovs_ctl () { - echo "`date -u`:$@" >> "${logdir}/ovs-ctl.log" - "${datadir}/scripts/ovs-ctl" "$@" 2>&1 | tee -a "${logdir}/ovs-ctl.log" + case "$@" in + *"=strace"*) + # In case of running the daemon with strace, piping the o/p causes + # the script to block (strace probably does not close the inherited + # pipe). So, do not log the o/p to ovs-ctl.log. + "${datadir}/scripts/ovs-ctl" "$@" + ;; + "status") + # In case of the command 'status', we should return the exit status + # of ovs-ctl. It is also useful to document the o/p in ovs-ctl.log. + display=`"${datadir}/scripts/ovs-ctl" "$@" 2>&1` + rc=$? + if test -w "${logdir}/ovs-ctl.log"; then + echo "${display}" | tee -a "${logdir}/ovs-ctl.log" + else + echo "${display}" + fi + return ${rc} + ;; + *) + echo "`date -u`:$@" >> "${logdir}/ovs-ctl.log" + "${datadir}/scripts/ovs-ctl" "$@" 2>&1 | tee -a "${logdir}/ovs-ctl.log" + ;; + esac } VERSION='@VERSION@'