diff options
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | ovsdb/ovsdb-client.c | 13 | ||||
-rw-r--r-- | tests/ovsdb-client.at | 4 |
3 files changed, 17 insertions, 1 deletions
@@ -5,6 +5,7 @@ Post-v2.8.0 * New high-level documentation in ovsdb(7). * New file format documentation for developers in ovsdb(5). * Protocol documentation moved from ovsdb-server(1) to ovsdb-server(7). + * ovsdb-client: New "get-schema-cksum" command. - OVN: * The "requested-chassis" option for a logical switch port now accepts a chassis "hostname" in addition to a chassis "name". diff --git a/ovsdb/ovsdb-client.c b/ovsdb/ovsdb-client.c index 7d9018384..c37302ef9 100644 --- a/ovsdb/ovsdb-client.c +++ b/ovsdb/ovsdb-client.c @@ -251,6 +251,9 @@ usage(void) "\n get-schema-version [SERVER] [DATABASE]\n" " retrieve schema for DATABASE from SERVER and report only its\n" " version number on stdout\n" + "\n get-schema-cksum [SERVER] [DATABASE]\n" + " retrieve schema for DATABASE from SERVER and report only its\n" + " checksum on stdout\n" "\n list-tables [SERVER] [DATABASE]\n" " list tables for DATABASE on SERVER\n" "\n list-columns [SERVER] [DATABASE] [TABLE]\n" @@ -448,6 +451,15 @@ do_get_schema_version(struct jsonrpc *rpc, const char *database, } static void +do_get_schema_cksum(struct jsonrpc *rpc, const char *database, + int argc OVS_UNUSED, char *argv[] OVS_UNUSED) +{ + struct ovsdb_schema *schema = fetch_schema(rpc, database); + puts(schema->cksum); + ovsdb_schema_destroy(schema); +} + +static void do_list_tables(struct jsonrpc *rpc, const char *database, int argc OVS_UNUSED, char *argv[] OVS_UNUSED) { @@ -1575,6 +1587,7 @@ static const struct ovsdb_client_command all_commands[] = { { "list-dbs", NEED_RPC, 0, 0, do_list_dbs }, { "get-schema", NEED_DATABASE, 0, 0, do_get_schema }, { "get-schema-version", NEED_DATABASE, 0, 0, do_get_schema_version }, + { "get-schema-cksum", NEED_DATABASE, 0, 0, do_get_schema_cksum }, { "list-tables", NEED_DATABASE, 0, 0, do_list_tables }, { "list-columns", NEED_DATABASE, 0, 1, do_list_columns }, { "transact", NEED_RPC, 1, 1, do_transact }, diff --git a/tests/ovsdb-client.at b/tests/ovsdb-client.at index 0f787fac8..903929550 100644 --- a/tests/ovsdb-client.at +++ b/tests/ovsdb-client.at @@ -1,11 +1,13 @@ AT_BANNER([OVSDB -- ovsdb-client commands]) -AT_SETUP([ovsdb-client get-schema-version]) +AT_SETUP([ovsdb-client get-schema-version and get-schema-cksum]) AT_KEYWORDS([ovsdb client positive]) ordinal_schema > schema AT_CHECK([ovsdb-tool create db schema], [0], [ignore], [ignore]) AT_CHECK([ovsdb-server --detach --no-chdir --pidfile --remote=punix:socket db], [0], [ignore], [ignore]) AT_CHECK([ovsdb-client get-schema-version unix:socket ordinals], [0], [5.1.3 ]) +AT_CHECK([ovsdb-client get-schema-cksum unix:socket ordinals], [0], [12345678 9 +]) OVSDB_SERVER_SHUTDOWN AT_CLEANUP |