[chef] Re: Chef Exception Handlers and gem dependancies


Chronological Thread 
  • From: AJ Christensen < >
  • To:
  • Subject: [chef] Re: Chef Exception Handlers and gem dependancies
  • Date: Fri, 17 Feb 2012 15:09:36 +1300

you can use gem_package during the compile phase:

gem_package "foo" do
  action :nothing
end.run_action(:install)

This file does exactly what you are talking about, fwiw:
https://github.com/fujin/chef-minitest/blob/develop/cookbooks/minitest/recipes/default.rb#L19-32

--AJ

On 17 February 2012 15:01, Aaron Bento 
< >
 wrote:
> 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:
> http://wiki.opscode.com/display/chef/Exception+and+Report+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.
> http://wiki.opscode.com/display/chef/Evaluate+and+Run+Resources+at+Compile+Time
>
> 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.

§