- From: Noah Kantrowitz <
>
- To: "
Dev" <
>
- Subject: [chef-dev] Re: Re: dependency spaghetti
- Date: Wed, 2 Oct 2013 19:05:12 -0700
On Oct 2, 2013, at 6:57 PM, Peter Donald
<
>
wrote:
>
Hi,
>
>
On Thu, Oct 3, 2013 at 9:17 AM, Blake Irvin
>
<
>
>
wrote:
>
For example, the 'java' cookbook includes a 'depends' for the 'windows'
>
cookbook - this means that I'm forced to download the 'windows' cookbook to
>
all of my *nix machines. Messy at best.
>
>
It also tends to pollute the attribute namespace, possibly add all sorts of
>
code via libraries etc. We hit problems with a dependency monkey patching
>
things to broken-ness. Not fun.
>
>
Thus we tend strip out all non essential cookbooks from depends flags and
>
add suggests where there is an optional context specific dependency. The
>
context is usually dependent on the environment or features used in the
>
cookbook. i.e. The cookbook when run on ubuntu needs 'apt', while on
>
windows it needs 'windows'. The cookbook needs the authbind cookbook if you
>
are using authbind or the runit cookbook if the init system is set to
>
runit. It then becomes the responsibility of the wrapper cookbook to depend
>
on the required dependencies rather than the library cookbook.
>
>
The "add a depends for a any potential dependency" philosophy harks back to
>
earlier patterns of chef usage before wrapper/library cookbook distinctions
>
started to being used when cookbooks tended to be fairly tightly wedded to
>
the initial context of use.
The problem is as we move the community to Berkshelf and tools like it (which
is totally the right direction) you can't just edit the upstream cookbooks
since you never see them directly. Optional dependencies would help, but the
user experience if you are missing an optional cookbook is definitely not
great and we'll need some improvements there. The real dream is some kind of
declarative way to state when a dependency is needed, but so far I've not
seen any proposed way to do that which doesn't veer off into crazytown.
--Noah
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail
- [chef-dev] Re: Re: Re: Re: Re: dependency spaghetti, (continued)
[chef-dev] Re: Re: Re: Re: dependency spaghetti, Seth Falcon, 10/03/2013
[chef-dev] Re: Re: Re: dependency spaghetti, Tollef Fog Heen, 10/02/2013
[chef-dev] Re: dependency spaghetti, Lamont Granquist, 10/02/2013
[chef-dev] Re: dependency spaghetti, Peter Donald, 10/02/2013
- [chef-dev] Re: Re: dependency spaghetti, Noah Kantrowitz, 10/02/2013
Archive powered by MHonArc 2.6.16.