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 | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in index 3eda01d3c..06f4319d5 100644 --- a/utilities/ovs-lib.in +++ b/utilities/ovs-lib.in @@ -519,13 +519,11 @@ join_cluster() { LOCAL_ADDR="$3" REMOTE_ADDR="$4" - 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. + if test -e "$DB_FILE" && ovsdb_tool db-is-standalone "$DB_FILE"; then backup_db || return 1 - action "Joining $DB_FILE to cluster" \ - ovsdb_tool join-cluster "$DB_FILE" "$SCHEMA_NAME" "$LOCAL_ADDR" + rm $DB_FILE + else + ovsdb_tool join-cluster "$DB_FILE" "$SCHEMA_NAME" "$LOCAL_ADDR" "$REMOTE_ADDR" fi } -- 2.31.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
