[chef] Re: Notification on template change


Chronological Thread 
  • From: Steffen Gebert < >
  • To:
  • Subject: [chef] Re: Notification on template change
  • Date: Tue, 14 Feb 2012 19:13:06 +0100

Hi Oscar,

thanks a lot for your response!

> usually the :create action is what you want; if the rendered content of the 
> template equals the content of the destination file, Chef should not 
> "recreate" the file (check for access timestamps), thus the notifies will 
> only be run when the content differs 
Well.. that's what I would also expect.

After re-re-reading the output, I noticed that I created something like a 
perpetual motion: It is obviously bad to set (non-perfect) permissions for 
the config files via chef, which then itself triggers the run of OTRS' 
SetPermissions.pl - which then changes permissions back to something else. Of 
course, the same starts again during the next chef run ;)
After setting the correct permissions in the recipe, everything works fine 
now, yay :)

> Have you considered writing an upgrade.rb recipe which would incrementally 
> update from a pretty old version to the most recent one or something like 
> this? If I understood it correctly OTRS offers no direct upgrade paths from 
> e.g. 2.2 => 3.0 but instead you have to install 2.3, then 2.4 and so on.
No, I didn't consider it yet. I directly started my cookbook with OTRS 3.1 
(which became stable today btw.).
IIRC you have to upgrade to 3.0 first and update scripts from 2.x (x <= 4) 
exist. But yes, you mustn't skip 3.0.

I would appreciate a contribution of such an upgrade recipe. I don't have any 
experience with that, yet, and have no personal need.

Thanks a lot for your help!
Steffen

On 14.02.2012, at 03:50, oscar schneider wrote:

> Hi Steffen,
> 
> usually the :create action is what you want; if the rendered content of the 
> template equals the content of the destination file, Chef should not 
> "recreate" the file (check for access timestamps), thus the notifies will 
> only be run when the content differs (i.e. you change an attribute that is 
> used in the template or change the template file itself). 
> 
> At least that is what I was believing and hoping :)
> 
> If this is not the case I either misunderstood a lot of my 
> services/cookbooks or my infrastructure should've gone to hell a long time 
> ago :)
> 
> Regarding the OTRS cookbook, I'll let a coworker know, and also check it 
> out myself. My perl is pretty bad but my chef is decent (at least imo). 
> 
> Have you considered writing an upgrade.rb recipe which would incrementally 
> update from a pretty old version to the most recent one or something like 
> this? If I understood it correctly OTRS offers no direct upgrade paths from 
> e.g. 2.2 => 3.0 but instead you have to install 2.3, then 2.4 and so on.
> 
> Cheers,
> 
> Oscar
> 
> 
> On Mon, Feb 13, 2012 at 8:10 PM, Steffen Gebert 
> < >
>  wrote:
> Hi list,
> 
> I'm searching for a way to notify another resource, as soon as a template 
> changed:
> 
> template "foo.conf" do
>  source "foo.conf.erb"
>  notfies :run, "execute[rebuildConfig]"
> end
> 
> (see this recipe [1]).
> 
> When using the create_if_missing action, it's only created once, but not as 
> soon as I upload a cookbook with a changed version of the config file.
> With the create action, the resource is notified every time (which flushes 
> caches, regenerates merged config files etc..).
> 
> Is there a way in between? Notify, if the old and the new file differ?
> 
> Thanks for your help!
> Steffen
> 
> [1] 
> https://github.com/StephenKing/chef-cookbook-otrs/blob/master/recipes/default.rb#L175
> 
> P.S: It would be great, if one wants to review the OTRS cookbook - it still 
> has some minor issues (and probably misses some best-practices)
> 
> 
> 




Archive powered by MHonArc 2.6.16.

§