[openstack-dev] [all] Outcome of distributed lock manager discussion @ the summit

Robert Collins robertc at robertcollins.net
Tue Nov 3 02:26:03 UTC 2015

Hi, at the summit we had a big session on distributed lock managers (DLMs).

I'd just like to highlight the conclusions we came to in the session (

Firstly OpenStack projects that want to use a DLM can make it a hard
dependency. Previously we've had a unwritten policy that DLMs should
be optional, which has led to us writing poor DLM-like things backed
by databases :(. So this is a huge and important step forward in our

As in our existing pattern of usage for database and message-queues,
we'll use an oslo abstraction layer: tooz. This doesn't preclude a
different answer in special cases - but they should be considered
special and exception, not the general case.

Based on the project requirements surfaced in the discussion, it seems
likely that all of konsul, etc and zookeeper will be able to have
suitable production ready drivers written for tooz. Specifically no
project required a fair locking implementation in the DLM.

After our experience with oslo.messaging however, we wanted to avoid
the situation of having unmaintained drivers and no signalling to
users about them.

So, we resolved to adopt roughly the oslo.messaging requirements for
drivers, with a couple of tweaks...

Production drivers in-tree will need:
 - two nominated developers responsible for it
 - gating functional tests that use dsvm
Test drivers in-tree will need:
 - clear identification that the driver is a test driver - in the
module name at minimum

All hail our new abstraction overlords.


Robert Collins <rbtcollins at hp.com>
Distinguished Technologist
HP Converged Cloud

More information about the OpenStack-dev mailing list