- From: Noah Kantrowitz <
>
- To:
- Subject: [chef] Re: Re: Re: Re: Re: Cookbook dependencies doc
- Date: Fri, 28 Feb 2014 18:48:05 -0800
I wouldn't count on that behavior. Erchef will switching back the Ruby
(gecode) depsolver soon, and Berkshelf as its own based on the Solve gem :-(
--Noah
On Feb 28, 2014, at 6:44 PM, Silviu Dicu
<
>
wrote:
>
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
>
<
>
>
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
>
>
>
>
>
>
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail
Archive powered by MHonArc 2.6.16.