[chef-dev] Re: Re: Re: Best practice for cross platform cookbook dependencies?


Chronological Thread 
  • From: Erik Hollensbe < >
  • To: Cassiano Leal < >
  • Cc: Mike < >, Peter Loron < >, Chef Dev < >
  • Subject: [chef-dev] Re: Re: Re: Best practice for cross platform cookbook dependencies?
  • Date: Wed, 13 Feb 2013 06:45:00 -0500

It's a separate knife command, so no, unless you want to use a very early version of berkshelf that used knife plugins.

-- 
Erik Hollensbe
Sent with Sparrow

On Wednesday, February 13, 2013 at 6:31 AM, Cassiano Leal wrote:

Will that speedup Berkshelf's upload? Judging by the readme, it's a separate knife subcommand that has to be explicitly invoked.

- cassiano

On Monday, February 11, 2013 at 19:19, Erik Hollensbe wrote:

https://github.com/erikh/knife_cookbook_sync can help you with the upload performance (which in my experience is the slowest part of this).

It probably needs some touchups for Chef 11.


On Mon, Feb 11, 2013 at 1:00 PM, Cassiano Leal < " target="_blank"> > wrote:
I'd have to say yes.

My workflow involves running Berkshelf and Vagrant VMs to develop and test cookbooks.

The more dependencies a cookbook I use have, the longer it takes for me to iterate. Everytime I "vagrant up" or "vagrant provision", every single cookbook that'll be used for that session gets loaded on the system, uploaded to the Chef Server and downloaded in the VM.

I like the way the apache2 cookbook [0] deals with that: no direct dependencies, default recipe doesn't need any. If you load a recipe with an external dependency, make sure to include whatever recipe you need from that on the node (like it does with logrotate, for example).

I'm not sure that applies to the nodejs cookbook, but it surely is an annoyance that should be fixed somehow.

I feel the same about having to load up apt cookbooks onto CentOS/RHEL or Windows nodes.

Even though the inclusion of unused cookbooks brings no harm in terms of cuntionality, it does slow down both cookbook development and node conversion.

- cassiano

On Monday, February 11, 2013 at 16:57, Mike wrote:

The dependency manifests as files located on the filesystem.
I don't think there's any other problems, are there?

I'm working on extending the existing nodejs cookbook to support installs on Windows. This brings up a bit of a conundrum…if I do this, I'm going to take a dependency hit on the "windows" cookbook. This will cause non-windows shops to now have another cookbook they don't need. On the flip side, windows-only shops will have the useless to them "apt" cookbook.

Is there a solution that the community prefers? I could roll this out as a separate cookbook, but I would prefer to keep it all in one. Just eat the extra dependency overhead?

Thanks.

-Pete







Archive powered by MHonArc 2.6.16.

§