[ovs-git] [openvswitch/ovs] 6d8822: ovsdb-idl: improve error handling when schema is n...

GitHub noreply at github.com
Mon Mar 14 17:21:17 UTC 2016

  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: 6d8822103af351807461acdf23833d6c0f7d0bad
  Author: Lance Richardson <lrichard at redhat.com>
  Date:   2016-03-14 (Mon, 14 Mar 2016)

  Changed paths:
    M lib/ovsdb-idl.c

  Log Message:
  ovsdb-idl: improve error handling when schema is not available

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 <lrichard at redhat.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>

More information about the git mailing list