This patch works for me, but it is a little hacky. diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in index 1684ddc..b0cdaf2 100644 --- a/utilities/ovs-lib.in +++ b/utilities/ovs-lib.in @@ -51,7 +51,13 @@ ovs_ctl () { ;; *) echo "`date -u`:$@" >> "${logdir}/ovs-ctl.log" - "${datadir}/scripts/ovs-ctl" "$@" 2>&1 | tee -a "${logdir}/ovs-ctl.log" + unique=`(uuidgen) 2>/dev/null` || unique=`date +"%Y %b %d %T"` + mkfifo "/tmp/${unique}" + tee -a "${logdir}/ovs-ctl.log" < "/tmp/${unique}" & + "${datadir}/scripts/ovs-ctl" "$@" > "/tmp/${unique}" 2>&1 + rc=$? + rm "/tmp/${unique}" + return $rc ;; esac }
On Tue, Oct 1, 2013 at 10:11 AM, Gurucharan Shetty <shet...@nicira.com> wrote: > On Mon, Sep 30, 2013 at 7:27 PM, Duffie Cooley <dcoo...@nicira.com> wrote: >> From: Duffie Cooley <dcoo...@nicira.com> >> This is a fix for a request to make sure that the openvswitch status command >> in rhel based distros gives a useful exit status. That was fixed in >> >> commit 5e0c05bc058c78a11be6747f62e6ad88e5d06b70 >> debian: Fix exit status of openvswitch-switch init script "status" command >> >> >> >> Signed-off-by: Duffie Cooley <dcoo...@nicira.com> >> --- >> rhel/etc_init.d_openvswitch | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/rhel/etc_init.d_openvswitch b/rhel/etc_init.d_openvswitch >> index 7e64132..6a53cef 100755 >> --- a/rhel/etc_init.d_openvswitch >> +++ b/rhel/etc_init.d_openvswitch >> @@ -5,7 +5,7 @@ >> # chkconfig: 2345 09 91 >> # description: Manage Open vSwitch kernel modules and user-space daemons >> >> -# Copyright (C) 2009, 2010, 2011 Nicira, Inc. >> +# Copyright (C) 2009, 2010, 2011, 2013 Nicira, Inc. >> # >> # Licensed under the Apache License, Version 2.0 (the "License"); >> # you may not use this file except in compliance with the License. >> @@ -81,6 +81,7 @@ case $1 in >> ;; >> status) >> ovs_ctl status >> + exit $? >> ;; >> version) >> ovs_ctl version >> -- >> 1.8.1.2 >> > I don't think this helps. The exit status is always 0. I broke this > with my implementation of 'ovs_ctl' in ovs-lib tee'ing the o/p to > ovs-ctl.log. tee will return an exit status of success even though the > previous command returned an exit status of 1. > > I can use the PIPESTATUS variable. But I don't think it is POSIX > compliant. Any other ideas? _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev