[openstack-dev] [nova][vmware] Locking: A can of worms

Shawn Hartsock hartsock at acm.org
Fri Mar 7 18:43:02 UTC 2014


On Fri, Mar 7, 2014 at 12:55 PM, Doug Hellmann
<doug.hellmann at dreamhost.com> wrote:
> http://git.openstack.org/cgit/stackforge/tooz


This is good stuff. The only solution I could come up with for image
cache management was to have yet another service that you would set up
to manage the shared image cache resource. The current solution
implementation that I've seen relies on the file system resource
(under the image caches) to handle the semaphores between the Nova
nodes.

This is complicated, but not impossible to do correctly. The current
design reminds me of a distributed fault tolerant system I worked on
in the 1990's ... it was designed in the 1980s and used almost
identical locking semantics relying on directory names to determine
which process had lock. So this problem set isn't anything terribly
new and the proposed solutions aren't anything terribly strange or
clever.

What I like about the tooz solution is we've found a way to address
that same old coordination problem without building yet another
service AND without monkeying about with distributed file system locks
read by NFS or some other file system sharing mechanism. Instead,
we've got this back-channel for coordinating cooperative services.

I like this solution a lot because it steps outside the initial
problem definition and comes up with something that truly solves the
problem, the issue of "who's turn is it?"

If someone could point me at some nice primer code for each system I
think I might be able to render a more informed opinion.

Thanks.



-- 
# Shawn.Hartsock - twitter: @hartsock - plus.google.com/+ShawnHartsock



More information about the OpenStack-dev mailing list