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


Chronological Thread 
  • 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.

§