On Tue, Aug 8, 2017 at 8:04 PM, Ben Pfaff <[email protected]> wrote: > On Mon, Jul 31, 2017 at 04:53:03PM -0400, Russell Bryant wrote: >> I wanted to share the idea before I code it to see if it makes sense. >> I imagine the patch would be small, though. >> >> We currently provide HA for ovn-northd by using Pacemaker to ensure >> that ovn-northd is running only one time somewhere in a cluster. >> >> What if we made ovn-northd acquire an OVSDB lock on the southbound >> database before it did any real work? That way we could start >> multiple copies of ovn-northd in a cluster, but only one would be >> active at a time. > > I think it's a reasonable approach. > > It means that we'll have to make sure that clustered OVSDB, when it > becomes available, supports locks. I hadn't yet decided whether locks > were important for that use case. It sounds like they might be.
Maybe, unless further iteration of ovn-northd to have more than one able to perform work at the same time is done in a way that drops the lock usage. However, we make use of OVSDB locks from the OpenStack OVN integration, as well. That use case is: There are several clients of the OVN Northbound database, all running their own IDL instance. This is multiple threads of a neutron-server process that's running on multiple hosts. We need a single worker across all hosts to handle state changes to the "up" column of Logical_Switch_Port. We have a single thread in each neutron-server that attempts to acquire a lock for this. Whichever one currently holds the lock handles the "up" state changes and associated OpenStack notifications. -- Russell Bryant _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
