[openstack-dev] [oslo] New and next-gen libraries (a BCN followup)

Jim Rollenhagen jim at jimrollenhagen.com
Fri Nov 4 14:50:34 UTC 2016


On Thu, Nov 3, 2016 at 3:04 PM, Joshua Harlow <harlowja at fastmail.com> wrote:
> Jay Faulkner wrote:
>>>
>>> On Nov 3, 2016, at 11:27 AM, Joshua Harlow<harlowja at fastmail.com>  wrote:
>>>
>>> Just as a followup from the summit,
>>>
>>> One of the sessions (the new lib one) had a few proposals:
>>>
>>> https://etherpad.openstack.org/p/ocata-oslo-bring-ideas
>>>
>>> And I wanted to try to get clear owners for each part (there was some
>>> followup work for each); so just wanted to start this email to get the
>>> thoughts going on what to do for next steps.
>>>
>>> *A hash ring library*
>>>
>>> So this one it feels like we need at least a tiny oslo-spec for and for
>>> someone to write down the various implementations, what they share, what
>>> they do not share (talking to swift, nova, ironic and others? to figure this
>>> out). I think alexis was thinking he might want to work through some of that
>>> but I'll leave it for him to chime in on that (or others feel free to also).
>>>
>>> This one doesn't seem very controversial and the majority of the work is
>>> probably on doing some analysis of what exists and then picking a library
>>> name and coding that up, testing it, and then integrating (pretty standard).
>>>
>>
>> Ironic and Nova both share a hash ring implementation currently
>> (ironic-conductor and nova-compute driver for ironic). It would be sensible
>> to reuse this implementation, oslo-ify it, and have that code shared.
>>
>> I question the value of re-implementing something like this from scratch
>> though.
>>
>> Thanks,
>> Jay Faulkner
>> OSIC
>>
>
> Right I don't think the intention would be to implement it from scratch, but
> to do some basic analysis of what exists (and think about and document the
> patterns), and try to find the common parts (which likely involves renaming
> some specific nova/ironic methods from what I see); especially if we can get
> swift to perhaps (TBD) also use and contribute to this library.

As the person who copied that code into Nova, the Nova code is a strict subset
of the Ironic code.

Some of us talked to John Dickinson off-list, and it seems the Swift hash ring
has very different use cases and very different implementation. I
think we should
focus on pulling the Nova/Ironic code out first, and then talking to
Swift if we can
also make it work for them (sounds like it's not helpful today).

// jim



More information about the OpenStack-dev mailing list