[chef] Chef Exception Handlers and gem dependancies


Chronological Thread 
  • From: Aaron Bento < >
  • To:
  • Subject: [chef] Chef Exception Handlers and gem dependancies
  • Date: Thu, 16 Feb 2012 18:01:54 -0800

Hey Everyone,
I'm a bit confused on how to get a gem (or other resource) installed on a machine that is a dependency for a Chef Exception Handler.

I'm using the EmailMe example from the wiki to familiarize myself with writing handlers:

I have the example working if I already have the pony gem installed, but once I try to perform a run on a clean machine, I get:

FATAL: LoadError: no such file to load -- pony

After reading the following wiki page, I thought the proper place was to put it above the handler code.

However that results in:

FATAL: NoMethodError: chef_handler[MyOrganization::EmailMe] (chef_handler::email_me line 25) had an error: NoMethodError: undefined method `gem_package' for main:Object

I seem to be caught in a catch-22. The handler is evaluated during the compile stage, but I need to install a gem which doesn't happen until the execute. How are others doing this with gems or other dependancies not on the system?

I'm using the chef_handler cookbook and pulling the chef handler via the LWRP in a recipe.

Where is the best place to call gem_package? Thanks!

-- 
Aaron Bento




Archive powered by MHonArc 2.6.16.

§