- From: Matt Palmer <
>
- To:
- Subject: [chef] Re: Re: Installing large numbers of packages
- Date: Thu, 1 Sep 2011 10:08:47 +1000
On Thu, Sep 1, 2011 at 10:00 AM, Brad Knowles
<
>
wrote:
>
On Aug 31, 2011, at 6:53 PM, Matt Palmer wrote:
>
> I'm getting my first chef recipe in order, a simple one to prep a
>
> workstation -- which is mostly "install this giant list of packages".
>
>
That's going to be one of the first real steps that I'm going to be doing
>
for our infrastructure overhaul.
I suspect that'd be most people's first target... no production risk,
and usually pretty well understood.
>
> Which doesn't do anything for my "but you don't need to learn *much*
>
> Ruby" claims to the rest of the team, and still isn't as compact and
>
> clean as it could be.
>
>
>
> Am I missing something obvious, or is one of the above options really
>
> the recommended way to create big lists of resources?
>
>
I haven't actually done any real Chef yet, but my understanding was that
>
you wanted to put as much information as possible in databags, and then
>
have your rules reference the databags. So, I would expect the code from
>
your first example would not be that different from the version that pulls
>
the list of packages out of the appropriate databag.
Well, chef-solo doesn't do databags, and chef's server looks like such
a hairball I'm going to avoid it for as long as I possibly can.
There's also resilience issues, a strong aversion to centralisation,
and too many painful memories of Puppet scaling nightmares to get
over.
Even without that, though, I'm having trouble working out how it's
better to have a list of packages in one place, and a resource
specification that installs those packages somewhere else. I can
almost convince myself that putting attributes in an external JSON
file makes sense for roles (although I think it's codifying the same
mistake that practically everyone makes using Puppet, where you define
a pile of global variables and cross your fingers that everything
works, rather than having locally-passed parameters that define how
you want to use something Here and Now), but making a list somewhere
external just so I can avoid having to walk an array is insane. My
recipe says "this is how you configure a workstation", and the list of
packages you have to install in order to do that should be in that
recipe.
- Matt
Archive powered by MHonArc 2.6.16.