Hi Ben/All, In an OVN deployment - with OVN dbs deployed as active/standby using pacemaker, we are seeing delays in response to unixctl command - ovsdb-server/sync-status.
Pacemaker periodically calls the OVN pacemaker OCF script to get the status and this script internally invokes - ovs-appctl -t /var/run/openvswitch/ovnsb_db.ctl ovsdb-server/sync-status. In a large deployment with lots of OVN resources we see that ovsdb-server takes a lot of time (sometimes > 60 seconds) to respond to this command. This causes pacemaker to stop the service in that node and move the master to another node. This causes a lot of disruption. One approach of solving this issue is to handle unixctl commands in a separate thread. The commands like sync-status, get-** etc can be easily handled in the thread. Still, there are many commands like ovsdb-server/set-active-ovsdb-server, ovsdb-server/compact etc (which changes the state) which needs to be synchronized between the main ovsdb-server thread and the newly added thread using a mutex. Does this approach makes sense ? I started working on it. But I wanted to check with the community before putting into more efforts. Are there better ways to solve this issue ? Thanks Numan _______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss