- From: Sean OMeara <
>
- To:
- Subject: [chef] Re: Re: Re: Question about recipes
- Date: Mon, 5 Nov 2012 11:02:10 -0500
Aha.
No, it will only send the :restart action to the 'service[apache2]'
resource, if action needs to be taken to fix the config file.
-s
On Mon, Nov 5, 2012 at 10:30 AM, Jens Skott
<
>
wrote:
>
But if i put a action [:restart] will it restart it every time the
>
client parses the recipe?
>
If so do I have to put it in a not_if thingy to make it not restart if
>
there are stuff present?
>
>
>
Jens Skott
>
Tel: +46-8-5142 4396
>
Schibsted Centralen IT
>
>
>
>
2012/11/5 Sean OMeara
>
<
>:
>
> TL;DR - Chef will probably do nothing on the second run.
>
>
>
> Actual answer -
>
>
>
> Chef will parse the recipe, compiling a "resource collection" that
>
> looks something like:
>
>
>
> [ 'package[apache]', 'file[yourconfig]', 'service[apache]' ]
>
>
>
> Then, it will process the resources individually, in the order
>
> generated by the recipe. Each resource will independently check to see
>
> if it needs to take action to fix its subject through a provider,
>
> potentially changing the system as it goes.
>
>
>
> The package resource will consult the package manager to test if it
>
> needs to install apache.
>
> Think `if [rpm -qa | grep apache]` of `if [dpkg -L | grep apache]`
>
> under the hood.
>
>
>
> The file resource (and its cousins template, remote_file,
>
> cookbook_file, etc) will take checksums in memory and against the file
>
> on disk. If they differ, the one in memory wins and gets written,
>
> leaving you a diff in your output. (logs, why-run, etc)
>
>
>
> 'service[apache]' will check to see if apache is running and fix it if
>
> it isn't, etc.
>
>
>
> hope that helps
>
>
>
> -s
>
>
>
> On Mon, Nov 5, 2012 at 9:02 AM, Jens Skott
>
> <
>
>
> wrote:
>
>> I have a question about RPM:s and config files with chef.
>
>> Im sorry if im writing a question I should find the answer to on the
>
>> site but have not found any information regarding it or I could just
>
>> have missed it.
>
>>
>
>> The question I have is. If I write a recipe that installs a RPM
>
>> package trough yum, then deploys config files in specific directories
>
>> and then restarts the enables and starts the service. Then have a
>
>> dependency on apache recipe and does and action [:restart] on httpd
>
>> service.
>
>>
>
>> What does the chef recipe actualy do the second time chef runs? Does
>
>> it reinstalls the RPM and config files then restarts the httpd
>
>> service? Or does it do a diff to see if its the same package and skip
>
>> the installation and configfiles but restarts httpd?
>
>>
>
>> Anyone who can enlighten me or point me to a RTFM page? =)
>
>>
>
>> Jens Skott
>
>> Tel: +46-8-5142 4396
>
>> Schibsted Centralen IT
Archive powered by MHonArc 2.6.16.