- From: Joshua Miller <
>
- To:
- Subject: [chef] Re: Re: Re: Re: 'parameterize' recipies
- Date: Thu, 8 Apr 2010 11:47:35 -0700
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date :content-transfer-encoding:message-id:references:to:x-mailer; b=HzsmXTMKCROr2ZEXet7WQ1tMkNiyE/CPBjxaPK+uFK7OgHBBJYoqNJAlyYA3qdO4u8 GCFxhNnFMTaT++ML8SdcaYRgX5heQYtbk7EXW46e59dxfUBuoDL31skuZJSsBIwFTFbu F+U3cONqCnfNXwDAqg2KNT7hSG0DGh0ec3BV8=
wouldnt this be a good use for a data bag and a recipe that builds vsites
based on it?
On Apr 8, 2010, at 11:38 AM, Daniel DeLeo wrote:
>
The way that Chef encourages you do do this is to build up the list of
>
items you want (vhosts in your example) and let Chef no-op on the
>
items that are already in the desired state.
>
>
For example, have a look at:
>
http://wiki.opscode.com/display/chef/Libraries#Libraries-AdvancedLibraryUsage
>
>
HTH,
>
Dan DeLeo
>
>
On Thu, Apr 8, 2010 at 11:24 AM, erich oliphant
>
<
>
>
wrote:
>
> Ok cool, so basically I'd use a script or something to update the attribute
>
> then just rerun chef-client ?
>
>
>
> On Thu, Apr 8, 2010 at 1:06 PM, Michael Hale
>
> <
>
>
> wrote:
>
>>
>
>> 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
>
>>>
>
>
>
>
>
>
>
> --
>
> 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.