On Tue, Aug 08, 2017 at 09:32:03PM -0400, Russell Bryant wrote:
> On Tue, Aug 8, 2017 at 8:04 PM, Ben Pfaff <b...@ovn.org> 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.

OK, I did not know about that.  Thanks for the information.
dev mailing list

Reply via email to