On Wed, Jan 27, 2016 at 04:20:39PM -0500, Lance Richardson wrote: > ----- 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 <lrich...@redhat.com> > > > --- > > > 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?
No. > 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? No. Yes. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev