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

Alex Wang alexw at nicira.com
Mon Aug 24 21:51:42 UTC 2015


On Mon, Aug 24, 2015 at 2:46 PM, Russell Bryant <rbryant at redhat.com> wrote:

> 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.
>
>
I think ovs-vsctl is special, we actually have the 'next_cfg' to avoid such
race.





> --
> Russell Bryant
>



More information about the dev mailing list