[Openstack] [CHEF] Aligning Cookbook Efforts

andi abes andi.abes at gmail.com
Tue Feb 28 19:56:18 UTC 2012


On Tue, Feb 28, 2012 at 2:44 PM, Jay Pipes <jaypipes at gmail.com> wrote:
> cc'ing list, since it's a great question and good follow-up conversation to
> have...
>
>
> On 02/28/2012 02:32 PM, andi abes wrote:
>>>
>>> Interesting. Would you mind doing a code review on Mary Newby's Swift All
>>> in
>>> One cookbook? Could sure use your experience :)
>>>
>>> https://review.openstack.org/#change,3613
>>>
>>> Might be a good dip into the Gerrit world for ya, too ;)
>>
>>
>> I think I might get to be a scratched record here, since the question
>> was asked before.... is the goal of these cookbooks to support a SAIO
>> env, or a more multi-noded version?
>>
>> a SIOA would be nice for devs and newbies, but hides some of the
>> complexities. A multi-noded version would be more complex (and
>> probably controversial around tradeoffs) but potentially have more
>> value for users...
>>
>> (I obviously have my opinion, but curious as to where other folks are
>> trying to drive this effort)
>
>
> I think that both are incredibly useful. With my as-yet-still-limited
> understanding of Chef, it would be possible to have both an SAIO and a
> multi-node Swift cookbook in the same repo, no? Or some combination of
> cookbooks and roles that would allow a node to install SAIO or a piece of
> the Swift multi-node puzzle?

yes and no....

One neat feature of chef is it's search capability - being able to
query the sever of where other pieces of the puzzle are located, which
makes it very convenient for multi-node operations.
E.g. for swift there are a few cookbooks floating around where by the
rings are constructed by locating all the servers that are tagged as
"storage" nodes (i.e. they have the appropriate role(s) assigned to
them.
While "search" is a neat capability, it does make the recipes more
complex (recipes are part of cookbooks, that express the operations to
be performed). So if the intent is to have the cookbooks serve as an
newbie exemplar, showcasing openstack - its probably not a good idea.

Other complexities arise when you start dealing with machine variably,
that can be easily hidden in SAIO. Using swift as an example - the #
and device names of disks. In SAIO, you just create a bunch of
loopback devices... (at least the sample deployment docs do). On a
more (dare I say) "production" environment, you'd want to discover
what disks are available, and use the appropriate ones.

That said - there could be recipes for both SIAO and multi-node. Users
would then have to combine and apply the right set. But maybe that's
not the full question... maybe a more ""complete"" question would be:

is this effort geared towards producing deployments that can be
considered "production ready"?



>
> -jay




More information about the Openstack mailing list