[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