Just to understand better, do I actually need to include a library cookbook's recipe in the run_list of a node in order to use its LWRPs?I remember a thread not long ago in this mailing list about "how to test library cookbooks without recipes" or something like that, and someone specifically mentioned that requiring the lib cookbook in the metadata file would be enough.Just checking. :)- cassianoOn Wednesday, May 29, 2013 at 14:45, Ranjib Dey wrote:
i think both are fine, the non lwrp way. u'll be introducing the conditionals inside the recipe.. which will1) reduce the declarativeness of the recipe2) u'll be limited by the compile time info , in certain cases3) testing will be harderthe lwrp opens up a much cleaner way to reuse this, brings the conditionals inside an abstraction, and also allows you to set your resource's update status depending upon the entire dependency (i.e. now you can say i was updated if any of the dependant resource were update), which you might exploit using notification mechanism is anywhere else... u'll lose most of this if you push these logic in the recipe...no?On Wed, May 29, 2013 at 10:38 AM, Sean Escriva < " target="_blank"> > wrote:very neat.Notifications from the lwrp are one thing, but IMO include_recipe shouldn't need to be in the lwrp because as John mentioned the cookbook that provides the lwrp still needs to be included to make use of the specific lwrp and as such will run the default recipe. It should also result in a simpler lwrp. This seems easier to reason about as well since the lwrp is not the distribution mechanism for functionality, the cookbook is.As Dan said though, we probably need to see more code to understand the full issueOn Wed, May 29, 2013 at 10:07 AM, Ranjib Dey < " target="_blank"> > wrote:
i think its fine to include recipes via provider (or rather execute a whole recipe)create a subcontext , and a mini chef run inside it, and converge the node. this is how we used to reuse existing chef resource inside an lwrp earlier..yfeldblum had a gist on it..On Wed, May 29, 2013 at 9:46 AM, Dorian Jaminais < " target="_blank"> > wrote:
Yes this can be a workaround, still I don't think the behavior I am getting is normal (and don't understand why) and I'd prefer to find a cleaner way than having to add a recipe just to include other recipes whereas it should be the task of my LWRP.
2013/5/29 John E. Vincent (lusis) < " target="_blank"> >Is there a reason you wouldn't, however, just add the "include_recipe" statements to the default recipe for the LWRP cookbook then? It's not uncommon to do that even for library cookbooks iirc and it gets around (I think) the issue you're describing.On Wed, May 29, 2013 at 12:39 PM, Dorian Jaminais < " target="_blank"> > wrote:The work flow is pretty simple : assert that installation dependencies are met, clone the repo, bundle install the needed gems.All those applications have a dedicated cookbook but as the installation process is always the same work flow, I have factorized it into a LWRP.OkayI am using a LWRP instead of a recipe because I want to deploy about 15 applications that are very similar.
I have attached my provider to this mail (which by the way is included in a cookbook named gios).
In each application's cookbook I use :
gios_installer NAME do
name NAME
repository GIT_URI
command "./bin/truc"
version "master"
action :install
endAs stated in my previous emails, using the LWRP that way will include the recipes ruby, git, base::certificate, pm-openssh::rsa and pm-openssh::known_hosts only if the LWRP is called exactly once in the run_list.
Thanks for your help2013/5/29 Daniel DeLeo < " target="_blank"> >On Wednesday, May 29, 2013 at 9:06 AM, Dorian Jaminais wrote:
Is this a known bug ? I am doing something wrong ?If the LWRP is called more than once, it tells me that the resource has already been added to the run_list even if it has not.Indeed it appears that all recipes included in a LWRP 'run_context.include_recipe' is only really added to the run_list if the LWRP is called once during the run_list.I am still tracking down my problem and I have some news.It appears that he problem is not specific to the git cookbook.
I am failing to find any clues using my google-fu so I am turning to your expertise.
2013/5/29 Dorian Jaminais < " target="_blank"> >I have a LWRP that includes some cookbooks :Hi everyoneI am having trouble with LWRP, include_recipe and roles.
run_context.include_recipe "git"
run_context.include_recipe "internal-cookbook"
run_context.include_recipe "build-essential"This is a bit odd. Why does the LWRP do this instead of a recipe? Showing more code, log output, and explaining why you're doing things this way would help others to understand your issue better.--Daniel DeLeo--
Archive powered by MHonArc 2.6.16.