ovs-lib: Return the correct exit status of the command 'status'
authorGurucharan Shetty <gshetty@nicira.com>
Mon, 7 Oct 2013 21:28:48 +0000 (14:28 -0700)
committerGurucharan Shetty <gshetty@nicira.com>
Thu, 17 Oct 2013 17:15:05 +0000 (10:15 -0700)
commit 46528f78e5c(debian, rhel, xenserver: Ability to collect ovs-ctl logs)
made changes in the startup scripts such that the o/p of ovs-ctl is logged
into ovs-ctl.log. But it had an unintended consequence that the exit status
of ovs-ctl was no longer returned. We would always return success(the exit
status of tee).

With this commit, we return the exit status of ovs-ctl instead of tee.

Signed-off-by: Gurucharan Shetty <gshetty@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
utilities/ovs-lib.in

index 1684ddc..029ed3b 100644 (file)
@@ -49,6 +49,14 @@ ovs_ctl () {
             # 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=$?
+            echo "${display}" | tee -a "${logdir}/ovs-ctl.log"
+            return ${rc}
+        ;;
         *)
             echo "`date -u`:$@" >> "${logdir}/ovs-ctl.log"
             "${datadir}/scripts/ovs-ctl" "$@" 2>&1 | tee -a "${logdir}/ovs-ctl.log"