On Wed, Oct 20, 2021 at 2:45 PM Terry Wilson <twil...@redhat.com> wrote: > > 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 <twil...@redhat.com> > --- > 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
I tested this and it fixes things for me when upgrading where the non-inital controller nodes had existing DBs, but looking at it again, the behavior would change in the case where there was a DB_FILE that was *not* standalone. I'll re-spin this. Terry _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev