[ovs-dev] [PATCH] ovn-controller-vtep.at: Remove all 'Broken pipe' warning logs from ovsdb-server.log.

Russell Bryant rbryant at redhat.com
Mon Aug 24 21:46:28 UTC 2015


On 08/24/2015 05:37 PM, Alex Wang wrote:
> 
> 
> On Mon, Aug 24, 2015 at 11:30 AM, Russell Bryant <rbryant at redhat.com
> <mailto:rbryant at redhat.com>> wrote:
> 
>     On 08/22/2015 12:36 PM, Alex Wang wrote:
>     > This commit makes the OVN_CONTROLLER_VTEP_STOP remove all 'Broken
>     pipe'
>     > warning logs from ovsdb-server.log before running 'check_log'. 
>     This is in
>     > that *ctl command (e.g. ovn-nbctl) exits right after committing
>     the change
>     > to database;  however, in reaction, some daemon (e.g.
>     ovn-controller-vtep)
>     > may immediately update the database;  this later update may cause
>     database
>     > sending update back to *ctl command if *ctl has not proceeded to
>     exit yet;
>     > and if *ctl command exits before database calling send, the send
>     will fail
>     > with 'Broken pipe' error.
>     >
>     > Signed-off-by: Alex Wang <alexw at nicira.com <mailto:alexw at nicira.com>>
>     > ---
>     >  tests/ovn-controller-vtep.at <http://ovn-controller-vtep.at> | 
>      10 +++++++++-
>     >  1 file changed, 9 insertions(+), 1 deletion(-)
>     >
>     > diff --git a/tests/ovn-controller-vtep.at
>     <http://ovn-controller-vtep.at> b/tests/ovn-controller-vtep.at
>     <http://ovn-controller-vtep.at>
>     > index 72ec6ae..9fc1526 100644
>     > --- a/tests/ovn-controller-vtep.at <http://ovn-controller-vtep.at>
>     > +++ b/tests/ovn-controller-vtep.at <http://ovn-controller-vtep.at>
>     > @@ -82,7 +82,15 @@ m4_define([OVN_CONTROLLER_VTEP_START],
>     >  # So many exits... Yeah, we started a lot daemons~
>     >  #
>     >  m4_define([OVN_CONTROLLER_VTEP_STOP],
>     > -  [AT_CHECK([check_logs $1])
>     > +  [# removes all 'Broken pipe' warning logs from
>     ovsdb-server.log.  this is in
>     > +   # that *ctl command (e.g. ovn-nbctl) exits right after
>     committing the change
>     > +   # to database.  however, in reaction, some daemon (e.g.
>     ovn-controller-vtep)
>     > +   # may immediately update the database.  this later update may
>     cause database
>     > +   # sending update back to *ctl command if *ctl has not
>     proceeded to exit yet.
>     > +   # and if *ctl command exits before database calling send, the
>     send from
>     > +   # database will fail with 'Broken pipe' error.
>     > +   AT_CHECK([sed -i '/Broken pipe/d' ovsdb-server.log])
>     > +   AT_CHECK([check_logs $1])
>     >     AT_CHECK([ovs-appctl -t ovs-vtep exit])
>     >     AT_CHECK([ovs-appctl -t ovn-northd exit])
>     >     AT_CHECK([ovs-appctl -t ovn-controller-vtep exit])
>     >
> 
>     Acked-by: Russell Bryant <rbryant at redhat.com
>     <mailto:rbryant at redhat.com>>
> 
>     This looks fine to me.  It makes me wonder whether this is worth a
>     warning at all.  It's probably more appropriately a debug level thing.
> 
> 
> Thx, applied to master,
> 
> In production, ovn-*ctl commands (especially those that will cause this
> issue) 
> are rarely used, so maybe we can wait and see if this can really cause some
> false alarm,  and then react?

Yeah, that's fine.  I'm not too worried about it.  I was just thinking
out loud.

FWIW, the existing OpenStack OVS support still uses ovs-vsctl commands
by default.  Even if it's speaking the ovsdb protocol, it seems like
there's a race any time the service gets restarted (to upgrade it or
whatever).  It just sounds like a totally normal condition.

-- 
Russell Bryant



More information about the dev mailing list