----- Original Message -----
> From: "Ben Pfaff" <b...@ovn.org>
> To: "Lance Richardson" <lrich...@redhat.com>
> Cc: dev@openvswitch.org
> Sent: Tuesday, February 23, 2016 7:26:13 PM
> Subject: Re: [ovs-dev] [PATCH] ovsdb-idl: improve error handling when schema 
> is not available
> 
> On Tue, Feb 16, 2016 at 11:51:44AM -0500, Lance Richardson wrote:
> > A common error scenario with OVN is to attempt to use ovn-nbctl when
> > the OVN databases have not been created in ovsdb-server:
> >    1. ovn-nbctl sends a "get_schema" request for the OVN db to
> >    ovsdb-server.
> >    2. ovsdb-server fails to find requested db, sends error response
> >       to ovn-nbctl.
> >    3. ovn-nbctl receives the error response in ovsdb_idl_run(), but
> >       takes no specific action.
> >    4. ovn-nbctl hangs forever in IDL_S_SCHEMA_REQUESTED state (assuming
> >       a timeout wasn't requested on the command line).
> > 
> > This commit adds a new IDL state, IDL_S_NO_SCHEMA, which is entered
> > when a negative response to a schema request is received. When in
> > this state, ovsdb_idl_is_alive() now returns 'false', allowing clients
> > (currently ovn-nbctl, ovn-sbctl, vtep-ctl, and ovs-vsctl) to detect this
> > condition and exit with an appropriate error message.
> > 
> > Signed-off-by: Lance Richardson <lrich...@redhat.com>
> 
> Thanks for the patch.
> 
> This makes a significant change to the semantics of
> ovsdb_idl_get_last_error().  Previously, this function returned the last
> error encountered on a connection, regardless of whether the connection
> is currently alive.  After this patch, it returns 0 if the connection is
> currently alive.  I don't think this is a good change; it should still
> return the last error.
> 
> To conform with OVS style, please put {} around 1-statement blocks.
> 

Ah, good point, will spin a v2 shortly.

Thanks for reviewing.

  Lance
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to