On Tue, Jun 29, 2021 at 12:56:18PM +0200, Ilya Maximets wrote: > If a new database server added to the cluster, or if one of the > database servers changed its IP address or port, then you need to > update the list of remotes for the client. For example, if a new > OVN_Southbound database server is added, you need to update the > ovn-remote for the ovn-controller. > > However, in the current implementation, the ovsdb-cs module always > closes the current connection and creates a new one. This can lead > to a storm of re-connections if all ovn-controllers will be updated > simultaneously. They can also start re-dowloading the database > content, creating even more load on the database servers. > > Correct this by saving an existing connection if it is still in the > list of remotes after the update. > > 'reconnect' module will report connection state updates, but that > is OK since no real re-connection happened and we only updated the > state of a new 'reconnect' instance. > > If required, re-connection can be forced after the update of remotes > with ovsdb_cs_force_reconnect().
I think one of the goals here was to keep the load balanced as servers are added. Maybe that's not a big deal, or maybe it would make sense to flip a coin for each of the new servers and switch over to it with probability 1/n where n is the number of servers. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
