[chef] Re: Handling "common" errors in a chef run


Chronological Thread 
  • From: Daniel DeLeo < >
  • To:
  • Subject: [chef] Re: Handling "common" errors in a chef run
  • Date: Thu, 10 Feb 2011 07:58:11 -0800

On Thursday, February 10, 2011 at 7:34 AM, Michael Hale wrote:

I'm trying to think of a way to handle "common" errors that my chef
runs generate. Usually it is something related to AWS or opscode
platform and simply re-running chef-client will resolve the issue. I
was thinking that maybe I could create an error handler, check for
errors that can be resolved by running chef-client again, and spawn
another chef-client process prior to exiting. Thoughts?
There's a old, unloved ticket for adding retry logic to individual resources, if you're interested in giving that a go. The original motivation was installing gems from rubyforge back when rubyforge was notoriously unstable, but I think it could help here, too.

If you just want to write a simple exception handler and get on with your life, you could probably just check if the error is in the class of transient errors you described and then use `exec` to replace the chef process with a different chef process. Chef no longer mangles ARGV, so the original arguments you pass to chef will be there.

-- 
Dan DeLeo




Archive powered by MHonArc 2.6.16.

§