diff options
author | Aliasgar Ginwala <aginwala@ebay.com> | 2019-08-30 08:28:34 -0700 |
---|---|---|
committer | Ben Pfaff <blp@ovn.org> | 2019-09-23 15:38:44 -0700 |
commit | 00de46f9ee425e7dff3e600ed2316043437cd819 (patch) | |
tree | a3308e8eec961ee1b974bec58b0dd10daef46388 /tests | |
parent | 45bd8c563273fb914ff1960a53cfdcfddb0a5588 (diff) | |
download | openvswitch-00de46f9ee425e7dff3e600ed2316043437cd819.tar.gz |
ovsdb-tool: Convert clustered db to standalone db.
Add support in ovsdb-tool for migrating clustered dbs to standalone dbs.
E.g. usage to migrate nb/sb db to standalone db from raft:
ovsdb-tool cluster-to-standalone ovnnb_db.db ovnnb_db_cluster.db
Acked-by: Han Zhou <hzhou8@ebay.com>
Signed-off-by: Aliasgar Ginwala <aginwala@ebay.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ovsdb-tool.at | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/ovsdb-tool.at b/tests/ovsdb-tool.at index 69c5d6afa..b8e830f5b 100644 --- a/tests/ovsdb-tool.at +++ b/tests/ovsdb-tool.at @@ -459,3 +459,41 @@ OVS_APP_EXIT_AND_WAIT([ovsdb-server]) # Make sure that the clustered data matched the standalone data. AT_CHECK([cat dump2], [0], [expout]) AT_CLEANUP + +AT_SETUP([ovsdb-tool convert-to-standalone]) +AT_KEYWORDS([ovsdb file positive]) +ordinal_schema > schema +AT_CHECK([ovsdb-tool create-cluster db schema unix:s1.raft], [0], [stdout], [ignore]) +AT_CHECK([ovsdb-server --detach --no-chdir --pidfile --remote=punix:socket --log-file db >/dev/null 2>&1]) +for txn in m4_foreach([txn], [[[["ordinals", + {"op": "insert", + "table": "ordinals", + "row": {"number": 0, "name": "zero"}}, + {"op": "insert", + "table": "ordinals", + "row": {"number": 1, "name": "one"}}, + {"op": "insert", + "table": "ordinals", + "row": {"number": 2, "name": "two"}}]]]], ['txn' ]); do +AT_CHECK([ovsdb-client transact unix:socket "$txn"], [0], [ignore], [ignore]) +done +AT_CHECK([ovsdb-client transact unix:socket '[["ordinals"]]'], [0], + [ignore], [ignore]) +AT_CHECK([ovsdb-client dump unix:socket > clusterdump]) +AT_CHECK([ovs-appctl -t ovsdb-server -e exit], [0], [ignore], [ignore]) + +# Convert to standalone database from clustered database. +AT_CHECK(ovsdb-tool cluster-to-standalone db1 db) + +# Check its standalone db +AT_CHECK([ovsdb-tool db-is-standalone db1]) + +# Dump the standalone db data. +AT_CHECK([ovsdb-server -vconsole:off -vfile -vvlog:off --detach --no-chdir --pidfile --log-file --remote=punix:db.sock db1]) +AT_CHECK([ovsdb_client_wait ordinals connected]) +AT_CHECK([ovsdb-client dump > standalonedump]) +OVS_APP_EXIT_AND_WAIT([ovsdb-server]) + +# Make sure both standalone and cluster db data matches. +AT_CHECK([diff standalonedump clusterdump]) +AT_CLEANUP |