The chef's dependency resolver (unfortunately, silently) uses the best version of the dependent cookbook, she can decide the schedule. Which means you have:
- cookbook runit exists on Chef server versions 0.13.2 and 1.2.0
- cookbook myface depends on runit without version restriction operator
- cookbook yourface depends on runit with ~> 0.13.0
When the extended launch list node contains recipe[myface]and
recipe[yourface], it will use runit version 0.13.2.
, HTTP 412,
. , runit
= 1.2.0 recipe[myface]
recipe[yourface] ,
, yourface v0.13.2.
:
- cookbook couchdb 1.1.0 1.0.0
- cookbook couchdb 1.1.0 runit ~ > 1.1
- cookbook couchdb 2.0.0 runit >= 1.0.0 (
bump ,
)
- cookbook myface couchdb >= 1.1.0 ( runit
1.2.0)
- cookbook yourface couchdb ~ > 2.0.0 ( runit
1.0.0)
node recipe[myface],
recipe[yourface], , , :
- couchdb 2.0.0 (- ,
myface 1.1.0)
- runit 1.1 (- couchdb 2.0.0)
, , ,
, -
- runit.
, , .
, . ( ) . ( ~ > ), , . , . , , .
, / , cookbook =. , (Chef, ) , Hosted Chef (Chef Server SaaS).