Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <[email protected]> Signed-off-by: Ben Pfaff <[email protected]>
- Loading branch information