[chef] Re: Re: Re: Re: Cookbook dependencies doc


Chronological Thread 
  • From: Silviu Dicu < >
  • To: " " < >
  • Subject: [chef] Re: Re: Re: Re: Cookbook dependencies doc
  • Date: Fri, 28 Feb 2014 21:44:59 -0500

Hi Noah,

Thanks for your answer, as I said I was looking to find a document that explains
how the decision is taken, the closest I found as a 'doc' is https://github.com/opscode/depsolver/blob/master/src/depsolver.erl#L23

-silviu


On Thu, Feb 27, 2014 at 7:26 PM, Noah Kantrowitz < " target="_blank"> > wrote:
There is no winner per se, all constraints must be satisfied. You will have to fix your dependencies for this to have a valid solution.

--Noah

On Feb 27, 2014, at 4:17 PM, Silviu Dicu < "> > wrote:

> Hi,
>
> I was looking for a document that explains what is the merging order of the dependencies and who will win in the end
> Take a situation like this
>
> Node run config
> {
>   "name": "test-constraints",
>   "chef_environment": "test",
>   "normal": {
>   },
>   "run_list": [
>     "recipe[a]"
>   ]
> }
>
> $ grep depends  cookbooks/a/metadata.rb
> depends "b"
> depends "tech", "= 0.3.0"
>
> $ tail -1 cookbooks/a/recipes/default.rb
> include_recipe "b"
>
> $ grep depends cookbooks/b/metadata.rb
> depends "tech", "= 0.1.0"
>
> $ tail -1  cookbooks/b/recipes/default.rb
> include_recipe "tech"
>
> $ grep tech environments/test.json
>     "tech": "= 0.2.0"
>
>
> This runs w/o problems.
> But if I change environment to = 0.1.0 will do this
>
> [2014-02-28T00:07:36+00:00] INFO: HTTP Request Returned 412 Precondition Failed: {"message"=>"Unable to solve constraints, the following solutions were attempted \n\n    Unable to satisfy goal constraint a due to constraint on tech\n        (a = 0.1.0) -> (tech = 0.2.0)\n    Unable to satisfy goal constraint a due to constraints on tech\n        (a = 0.2.0) -> (tech = 0.3.0)\n        (a = 0.2.0) -> (b = 0.1.0) -> (tech = 0.1.0)\n", "unsatisfiable_run_list_item"=>["a"], "non_existent_cookbooks"=>[], "most_constrained_cookbooks"=>["(tech = 0.2.0)"]}
>
> If I change environment to = 0.3.0
>
> [2014-02-28T00:13:08+00:00] INFO: HTTP Request Returned 412 Precondition Failed: {"message"=>"Unable to solve constraints, the following solutions were attempted \n\n    Unable to satisfy goal constraint a due to constraint on tech\n        (a = 0.1.0) -> (tech = 0.2.0)\n    Unable to satisfy goal constraint a due to constraints on tech\n        (a = 0.2.0) -> (tech = 0.3.0)\n        (a = 0.2.0) -> (b = 0.1.0) -> (tech = 0.1.0)\n", "unsatisfiable_run_list_item"=>["a"], "non_existent_cookbooks"=>[], "most_constrained_cookbooks"=>["(tech = 0.2.0)"]}
>
> $ knife cookbook show tech
> tech   0.3.0  0.2.0  0.1.0
>
> thanks!
>
> -silviu
>
>
>
> Best,
> -M
>
>
> On Thu, Feb 27, 2014 at 1:32 PM, Silviu Dicu < "> > wrote:
> Hi,
>
> Could somebody point to a document describing how the cookbook dependencies are calculated ?
>
> I found for attributes http://docs.opscode.com/chef_overview_attributes.html but not sure if apply for cookbook version constraints.
>
>
> thanks!
>
> - silviu
>
>





Archive powered by MHonArc 2.6.16.

§