ovsdb-tool join-cluster requires a remote addr, so the existing
code that tried to join a cluster without it when there was an
existing $DB_FILE would fail.

Instead, if we are trying to specifically join a cluster and there
is an existing $DB_FILE, back it up and remove the original before
continuing to join the cluster.

Signed-off-by: Terry Wilson <[email protected]>
---
 utilities/ovs-lib.in | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in
index 3eda01d3c..a710f053a 100644
--- a/utilities/ovs-lib.in
+++ b/utilities/ovs-lib.in
@@ -519,13 +519,12 @@ join_cluster() {
     LOCAL_ADDR="$3"
     REMOTE_ADDR="$4"
 
+    if test -e "$DB_FILE" && ovsdb_tool db-is-standalone "$DB_FILE"; then
+        backup_db || return 1
+        rm $DB_FILE
+    fi
     if test ! -e "$DB_FILE"; then
         ovsdb_tool join-cluster "$DB_FILE" "$SCHEMA_NAME" "$LOCAL_ADDR" 
"$REMOTE_ADDR"
-    elif ovsdb_tool db-is-standalone "$DB_FILE"; then
-        # Backup standalone database and join cluster.
-        backup_db || return 1
-        action "Joining $DB_FILE to cluster" \
-               ovsdb_tool join-cluster "$DB_FILE" "$SCHEMA_NAME" "$LOCAL_ADDR"
     fi
 }
 
-- 
2.31.1

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to