[ovn]neutron-server allow more efficient reconnections when connecting to clustered OVSDB servers.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
New
|
Undecided
|
Unassigned |
Bug Description
When our cluster has a lot of data, once theNB/SB needs to be reconnected (the NB/SB is disconnected or the leader switches), neutron needs to resynchronize and process all the data from NB/SB, which will occupy resources. Moreover, creating a virtual machine during reconnection may cause a timeout waiting for network-
python-ovs support for monitor_cond_since / update3 to allow more efficient reconnections when connecting to clustered
OVSDB servers[1].
neutron-server only uses python-ovs. it should not be care whether it is fast synchronization or full synchronization. It only needs to update python-ovs to achieve fast synchronization.
But neutron-sever monitors the database schema changes[2]. each reconnection triggers a create database event, call updaet_tables, and clear cache. this means that fast synchronization cannot be used.
can we not support updated or downgraded(now it only for Table 'Chassis_Private') while neutron-server is running?
[1] https:/
[2] https:/
The only way to use update3/ monitor_ cond_since with OVS currently is to use ovs 2.17+ and enable RAFT for the ovsdb-servers. Even though ovsdb-server should be able to use monitor-cond-since without RAFT, it currently does not.
There isn't really anything to do in neutron or ovsdbapp for this. It will be used automatically if the ovs version / setup support it.