----- Original Message -----
> On Wed, Jan 27, 2016 at 02:46:07PM -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:
> >    1. ovn-nbctl sends "get_schema" request for OVN db to ovsdb-server.
> >    2. ovsdb-server fails to lookup requested db, sends error response
> >       to ovn-nbctl.
> >    3. ovn-nbctl received the error response in ovsdb_idl_run(), but
> >       takes no specific action in this case.
> >    4. ovn-nbctl hangs forever in IDL_S_SCHEMA_REQUESTED state (assuming
> >       a timeout wasn't requested on the command line).
> > 
> > Here is an RFC patch to start the discussion about how handling of this
> > particular error can be improved.
> > 
> > Signed-off-by: Lance Richardson <[email protected]>
> > ---
> >  lib/ovsdb-idl.c | 10 ++++++++++
> >  1 file changed, 10 insertions(+)
> > 
> > diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c
> > index 7e84138..3f4be51 100644
> > --- a/lib/ovsdb-idl.c
> > +++ b/lib/ovsdb-idl.c
> > @@ -453,6 +453,16 @@ ovsdb_idl_run(struct ovsdb_idl *idl)
> >                  ovsdb_idl_send_monitor_request(idl);
> >                  idl->state = IDL_S_MONITOR_REQUESTED;
> >              }
> > +        } else if (msg->type == JSONRPC_ERROR
> > +                   && idl->state == IDL_S_SCHEMA_REQUESTED
> > +                   && idl->request_id
> > +                   && json_equal(idl->request_id, msg->id)) {
> > +                json_destroy(idl->request_id);
> > +                idl->request_id = NULL;
> > +                VLOG_ERR("%s: requested schema not found",
> > +                         jsonrpc_session_get_name(idl->session));
> > +                ovsdb_idl_destroy(idl);
> > +                exit(EXIT_FAILURE);
> 
> I think that logging the problem is a good place to start, but the IDL
> definitely shouldn't kill the process.  The IDL's clients include
> long-running daemons that can and should reasonably recover from this
> kind of error.
> 
OK. Do you see any issues if this were to be resubmitted with the last
two lines removed?

To echo Russell's comment, is there an existing mechanism through
which the client can be notified of this condition, or (if not) should
one be created?


Thanks,

   Lance
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to