[chef-dev] Re: Re: CHEF-3747 - Compile Time Packages

Chronological Thread 
  • From: Ranjib Dey < >
  • To: Sean OMeara < >
  • Cc: Daniel DeLeo < >, Chef Dev < >
  • Subject: [chef-dev] Re: Re: CHEF-3747 - Compile Time Packages
  • Date: Mon, 28 Jan 2013 17:14:35 -0800

+1. I always find compile time resource execution a painful affair. Wherever we have updated resource based notifications (using report handlers), compile time resource execution screw them.
It will be amazing to have a multistage convergence, with cross stage notification ability. If not multistage, something like initializers (as rails have) where dependencies can be expressed in chef resource dsl would work.

On Mon, Jan 28, 2013 at 4:21 PM, Sean OMeara < " target="_blank"> > wrote:
Compile time modification is a hack that should very much be discouraged.

I'd rather see something akin to "run stages" where you could force
the convergence of a recipe before the compile phase of another.


On Mon, Jan 28, 2013 at 7:02 PM, Daniel DeLeo < "> > wrote:
> Hi Chefs,
> Recently we've been reviewing CHEF-3747 and wanted to get outside input.
> http://tickets.opscode.com/browse/CHEF-3747
> In short, this adds a shortcut for installing a package at compile time, but
> it has an interesting twist: It creates a corresponding package resource
> that will trigger notifications at converge time where the resource "would
> have been" if it had been a converge-time resource.
> We wanted to hear more from Chris (the patch's author) about what exactly
> he's using this behavior to do. As I understand it, there are two
> constraints:
> 1. These packages are prerequisites for gems that are installed and loaded
> via chef_gem;
> 2. When installed, additional resources need to run via notifications.
> We also want to hear from you. This behavior seems quite complex; is it
> something you think you would use? Is the complexity worth the benefit?
> I've also come across some discussions arguing that moving resources to
> compile time is an anti pattern. Personally I think its fine for one-off
> hacks, but I'm wary of baking it deeper into core Chef. Considering that the
> compile/converge distinction is pretty much required to implement
> notifications, those obviously act weirdly when everything gets moved to
> compile time. I personally also think Chef's strict ordering of run list
> items and the resource collection is the best way to get changes made in the
> desired order. On the other hand, this may necessitate splitting cookbooks
> into smaller pieces and sprinkling them across the run_list, which can be
> awkward.
> One alternative we've been discussing here at Opscode is a refactor of the
> way that the recipe DSL is implemented such that you'd be able to prepend
> resources to the resource collection, or insert them at an arbitrary point,
> but this isn't something that would be implemented soon.
> Thoughts?
> --
> Daniel DeLeo

Archive powered by MHonArc 2.6.16.