[openstack-dev] [all] Does OpenStack need a common solution for DLM?

Flavio Percoco flavio at redhat.com
Wed Aug 5 04:23:56 UTC 2015


On 04/08/15 21:14 -0700, Joshua Harlow wrote:
>Morgan Fainberg wrote:
>>
>>
>>On Tue, Aug 4, 2015 at 8:44 AM, Joshua Harlow <harlowja at outlook.com
>><mailto:harlowja at outlook.com>> wrote:
>>
>>    Flavio Percoco wrote:
>>
>>        On 03/08/15 19:48 +0200, Gorka Eguileor wrote:
>>
>>            On Mon, Aug 03, 2015 at 03:42:48PM +0000, Fox, Kevin M wrote:
>>
>>                I'm usually for abstraction layers, but they don't
>>                always pay off
>>                very well due to catering to the lowest common denominator.
>>
>>                Lets clearly define the problem space first. IFF the
>>                problem space
>>                can be fully implemented using Tooz, then lets do that.
>>                Then the
>>                operator can choose. If Tooz cant and wont handle the
>>                problem space,
>>                then we're trying to fit a square peg in a round hole.
>>
>>
>>            What do you mean with clearly define the problem space? We
>>            know what we
>>            want, we just need to agree on the compromises we are
>>            willing to make,
>>            use a DLM and make admins' life a little harder (only for
>>            those that
>>            deploy A-A) but have an A-A solution earlier, or postpone A-A
>>            functionality but make their life easier.
>>
>>            And we already know that Tooz is not the Holy Grail and will
>>            not perform
>>            the miracle of giving Cinder HA A-A. It is only a piece of
>>            the problem,
>>            so there's nothing to discuss there, and it's not a square
>>            peg on a
>>            round hole, because it fits perfectly for what it is
>>            intended. But once
>>            you have filled that square hole you need another peg, the
>>            round one for
>>            the round hole.
>>
>>            If people are expecting to find one thing that fixes
>>            everything and
>>            gives us HA A-A on its own, then I believe they are a little
>>            bit lost.
>>
>>
>>        As confusing as it seems, we've now moved from talking about just
>>        Cinder to understanding whether this is a problem many projects have
>>        and whether we can find a solution that will work for most of them.
>>        Therefore, I've renamed this thread to make this more evident.
>>
>>        Now, so far we have:
>>
>>        - Ironic has an internal distributed lock and it uses a hash-ring
>>        - Ceilometer uses tooz
>>        - Several projects use a file lock of some other fashion of
>>        distributed lock.
>>        - *Add yours here*
>>
>>        Each one of these projects has a specific use-case that doesn't
>>        necessarily overlap. I'd like to see those cases listed somewhere.
>>        We've done this in the past already and I believe we can do it
>>        now as
>>        well. As I've mentioned in another thread, Gorka has done this for
>>        Cinder already now we need to do it for other services too. Even if
>>        your project has a DLM in place, it'd be good to know what
>>        problem you
>>        solved with it as it may be a problem that other projects have as
>>        well.
>>
>>        As a community, we've been able to do away with adding a new service
>>        for DLM's thus far. I'm not saying we don't need one but, as
>>        mentioned
>>        in other threads, lets give this some more thought before we add
>>        a new
>>        service that'll make deploying and maintaining OpenStack harder.
>>
>>
>>    On the contrary, I think it would make deploying and maintaining
>>    openstack easier... As each service implements its own DLM pieces
>>    this means that they all do it in a way that is different from each
>>    other, which actually makes the situation worse (now operators needs
>>    to figure out the X different ways this was done, the X different
>>    ways to release a messed up/stale/other lock...). DLM(s) like
>>    zookeeper and others provide that 'single' way of doing it (they
>>    also provide introspection abilities, ie to see who is waiting on a
>>    lock, what connection has a lock...) so IMHO I feel the question of
>>    should we has really already been passed (but others may disagree).
>>
>>
>>I strongly agree that we are past the point of needing a DLM. We have
>>mostly papered over the missing choice of a consistent DLM across
>>projects with many different implementations. I'm all for picking a DLM
>>that is consistent across all of OpenStack and help our deployers and
>>operators only need to know one of these technologies. A single use of a
>>DLM should not inflame the "technology proliferation" argument as long
>>as we can be opinionated on the one we use and test against.
>>
>>Is the next step something x-project outlining the choices/direction so
>>we can start that phase of the conversation? I am sure that once we have
>>a clear direction, more and more use-cases will come out of the woodwork...
>
>I can start a cross-project spec tomorrow if people feel that is 
>useful, it may be slightly opinionated (I am one of the cores that 
>works on https://kazoo.readthedocs.org/ so I am going be slightly 
>biased for obvious reasons).

By all means, go crazy!

Flavio

-- 
@flaper87
Flavio Percoco
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150805/8f2a39c4/attachment.pgp>


More information about the OpenStack-dev mailing list