- 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.