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


Chronological Thread 
  • From: Andrew Gross < >
  • To: chef < >
  • Subject: [chef] Re: Re: Re: 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 16:02:25 -0500

Hehe things have come full circle now.  The recipe[apt] solution isn't bad, but it doesn't cover all cases (for more info check out the JIRA ticket).  I created this pull request with a solution to try to silence the issue by just automatically retrying, but I was not thinking about the broader picture.  All in all, I just want my Chef runs to stop failing when they need to run apt-get update.


On Mon, Mar 4, 2013 at 3:58 PM, John Dewey < " target="_blank"> > wrote:
Why not add `recipe[apt]` to your base role?  This keeps things cache up to date.

-- 
John Dewey
Sent with Sparrow

On Monday, March 4, 2013 at 12:44 PM, Andrew Gross wrote:

That works pretty well, I think the previous idea sprouted from the constraint that we didnt want to have to add this block to every single package block. Unsure how to resolve that with this syntax unless we could specify global defaults for some of these things.


On Mon, Mar 4, 2013 at 3:22 PM, Jesse Campbell < " target="_blank"> > wrote:
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.

§