How to specify cookbook path in .kitchen.yml file?

tsusanka picture tsusanka · Apr 29, 2014 · Viewed 12.7k times · Source

I have my Chef cookbooks stored in chef/cookbooks/ folder. When running kitchen converge I am still getting notice

Berksfile, Cheffile, cookbooks/, or metadata.rb not found so Chef will run with effectively no cookbooks. Is this intended?

I tried many options, for example:

suites:
  - name: default
    run_list: recipe[git]
    cookbook_path: "chef/cookbooks"

but I can't find the proper solution. How to specify the cookbooks' and roles' paths?

Answer

JackChance picture JackChance · Jul 28, 2015

You'll want to put the path in your berksfile, which will likely end up looking like so..

source 'https://supermarket.chef.io'
cookbook 'cookbookname', path: 'relative/or/absolute/path/to/cookbook/directory'

The berksfile is also used by chef when you deploy your code so it helps if your relative file structure is the same on your machine as it is on your chef server (i.e. all cookbooks share a directory so your berksfile can use the path '../cookbookname')