- From: Noah Kantrowitz <
>
- To:
- Subject: [chef] Re: Using resources in a library?
- Date: Tue, 6 Oct 2015 19:21:12 -0700
On Oct 6, 2015, at 5:05 PM, Nate Meyer
<
>
wrote:
>
Hi everyone,
>
>
I'm trying to add a gem dependency to a library. I found a couple
>
conversations talking about using resources in libraries in my travels:
>
>
•
>
http://stackoverflow.com/questions/21908433/using-class-methods-from-libraries-in-a-recipe
>
• http://lists.opscode.com/sympa/arc/chef/2011-12/msg00171.html
>
>
In both, the most reasonable advice is to create an instance of the
>
resource's class and call #run_action(:whatever) to get it to execute
>
immediately. From my testing, this doesn't work, with the problem
>
specifically being this code snippet and error:
>
https://gist.github.com/notnmeyer/04bc1c0be0e41504cd62
>
>
My first thought was to pass it run_context... But there's no run_context
>
at this point for me to pass to the resource's constructor.
>
>
To demonstrate in further detail, I put together a quick cookbook with a
>
Test Kitchen suite: https://github.com/notnmeyer/gem-dep
>
>
Any thoughts? What's the proper way to immediately execute a resource
>
during compile time?
A second option (only works if there are no C extensions in the mix, but if
you are trying to early install the gem that should be the case anyway) is to
use Halite to convert it to a cookbook. Basically just clone the gem's code,
add Halite as a dependency, and either add the Halite rake tasks for make a
script to run `Halite.convert('thegemname', 'path/to/write/cookbook') and it
will make a Chef cookbook containing the gem's code in such a way that other
cookbooks can depend on it and require as normal.
--Noah
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail
Archive powered by MHonArc 2.6.16.