[chef] Re: 'parameterize' recipies


Chronological Thread 
  • From: Michael Hale < >
  • To: chef < >
  • Subject: [chef] Re: 'parameterize' recipies
  • Date: Thu, 8 Apr 2010 13:06:23 -0400

Yes Chef is idempotent given the same set of cookbooks, and
attributes. You can make a cookbook do something different by changing
the attributes.

For example take a look at the apache cookbook default recipe line 67:
http://github.com/opscode/cookbooks/blob/master/apache2/recipes/default.rb#L67

You'll notice that node[:apache][:dir] is evaluated to determine the
directory where sites-available, sites-enabled, mods-available,
mods-enabled will be created. If you wanted to you could change the
value of the apache[:dir] attribute to say /home/erich/apache2, which
would end up creating:

/home/erich/apache2/sites-available
/home/erich/apache2/sites-enabled
/home/erich/apache2/mods-available
/home/erich/apache2/mods-enabled

On Thu, Apr 8, 2010 at 12:47 PM, erich oliphant
< >
 wrote:
> Hi,
> I am new to chef, have been through the examples,etc and have quick
> question.  Running a recipe seems to be 'idempotent', you run it once it
> does it's thing, if you rerun and the 'target' has not changed it won't do
> anything.  I am trying to understand how I can use chef for dynamic
> provisioning.  For instance, I have an apache virtual server template, but I
> want to be able to run the same recipe but have it create a virtual host at
> 'foo.domain.com', whose DocumentRoot is '/vhosts/foo', etc based on somehow
> passing in 'foo' to the cookbook.
>
> --
> Erich Oliphant
>
> "There are, in fact, two things, science and opinion, the former begets
> knowledge, the latter ignorance"
> -- Hippocrates of Cos
>



Archive powered by MHonArc 2.6.16.

§