[chef] Re: Re: Re: Question about recipes


Chronological Thread 
  • 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.

§