[chef] Re: Re: RE: Re: Re: Re: Re: Re: CHEF-3930: Run apt-get update automagically if apt-get install fails


Chronological Thread 
  • From: Jesse Campbell < >
  • To: chef < >
  • Subject: [chef] Re: Re: RE: Re: Re: Re: Re: Re: CHEF-3930: Run apt-get update automagically if apt-get install fails
  • Date: Mon, 4 Mar 2013 15:22:15 -0500

cassiano, i think you nailed it.

make on_failure function just like an only_if/not_if/notify thing:

package "totally-sucks-devel" do
  on_failure "apt-get update", :retry_once
end

make on_failure accept either a string or a block, and an optional set of arguments telling whether to retry and how many times
or alternatively, make it a block like thing:
package "totally-sucks-devel" do
  on_failure do
    notifies :run, "execute[apt-get-update]"
    retry true
  end
end


On Mon, Mar 4, 2013 at 2:44 PM, Cassiano Leal < " target="_blank"> > wrote:
I agree, but this would be easily fixed by making on_failure a resource property that takes a block as an argument instead of being a resource itself.

- cassiano

On Monday, March 4, 2013 at 16:33, Kevin Keane Subscription wrote:

I didn't follow this discussion from the start, just saw this. Forgive me if I'm way off base here, but at first glance, this seems very wrong to me, the "it just feels strange" type of wrong.

Isn't the philosophy of Chef that resources should describe the final, desired, state of the system? This resource just feels "procedural" rather than "declarative".

Or am I way off on this?

-----Original Message-----
Sent: Monday, March 4, 2013 9:13 AM
Subject: [chef] Re: Re: Re: Re: Re: CHEF-3930: Run apt-get update automagically if apt-get install fails

Why don't we make this a resource?

package "totally-sucks-devel"

on_failure "run apt-get update" do
match /^package/
notifies :run, "execute[apt-get-update]"
end

Where match is a regular _expression_ that looks for names of resources.

Adam


On Fri, Mar 1, 2013 at 11:21 PM, Jesse Campbell < " target="_blank"> > wrote:
What about extending the current handler approach? Add the ability to
catch a failed resource (by name) and retry it, just like you can
with a begin/rescue.

I like the concept of having an exception handler be tied to a resource
or provider, or at least be able to determine what resource or provider
caused the exception, do some bits and retry.

Bryan





Archive powered by MHonArc 2.6.16.

§