[chef] Re: Dependancy order problem


Chronological Thread 
  • From: Bryan McLellan < >
  • To:
  • Subject: [chef] Re: Dependancy order problem
  • Date: Tue, 28 Dec 2010 09:29:13 -0800

On Tue, Dec 28, 2010 at 8:48 AM, Ash Berlin 
< >
 wrote:
> So I just got bit by a problem (on my staging server luckily) where after 
> rebooting a host the Chef tried to restart the nginx server
> before writing out the new config. But it wouldn't start since it has an 
> error in the config, so stopped before it wrote out the corrected config...

I've gotten into this state with Apache too. Getting out of it is even
easier now with the new resource notification syntax [1]. I used to do
something like this:

service "apache2" do
  action :enabled
end

template "/etc/apache2/sites-enabled/foo" do
  source "foo"
  owner "root"
  group "root"
  mode "0644"
  notifies :reload, resources(:service => "apache2")
end

service "apache2" do
  action :start
end

In chef, resources of the same name stack. So anything unique you put
into the first service definition is going to still be a part of the
object when you call it later.

Since 0.9.10 there is a new notification syntax that is part of a
pre-parser so you don't need to define the service before you have a
notification.

template "/etc/apache2/sites-enabled/foo" do
  source "foo"
  owner "root"
  group "root"
  mode "0644"
  notifies :reload, "service[apache2]"
end

service "apache2" do
  action [ :enabled, :start ]
end

Bryan

[1] http://wiki.opscode.com/display/chef/Resources#Resources-Notifications



Archive powered by MHonArc 2.6.16.

§