[chef] Re: Cannot find a cookbook named...


Chronological Thread 
  • From: Sascha Bates < >
  • To:
  • Subject: [chef] Re: Cannot find a cookbook named...
  • Date: Tue, 25 Jun 2013 16:39:42 -0700

Hi Russ, what you are encountering here is cookbook dependencies.  These are documented in the metadata.rb of the cookbook:
https://github.com/edelight/chef-mongodb/blob/master/metadata.rb#L15

There are a couple of different ways to cope with dependency management. I believe you can use `knife cookbook site install` and that will also pull dependencies that are listed in a metadata file.

A more complex way is to use either Chef-Librarian or Berkshelf, but you may want to get a little more familiar with Chef before going down that road as those tools are a bit more complex.

Sascha

Russell Bateman wrote:
" type="cite">

~/uas/chef-repos $ knife cookbook upload --all
Uploading helloworld     [0.0.0]
Uploading mongodb        [0.11.0]
ERROR: Chef::Exceptions::CookbookNotFoundInRepo: Cannot find a cookbook named apt; did you forget to add metadata to a cookbook? (http://wiki.opscode.com/display/chef/Metadata)


(Yes, I am brand new to Chef and almost totally bewildered, but I've got high hopes.)

On my development host, I've got a subdirectory with

~/uas/chef-repos $ ll
total 20
drwxr-xr-x 5 russ russ 4096 Jun 25 16:28 .
drwxr-xr-x 8 russ russ 4096 May 28 14:46 ..
drwxr-xr-x 2 russ russ 4096 Jun 25 16:28 checksums
drwxr-xr-x 2 russ russ 4096 Jun 17 10:33 .chef
drwxr-xr-x 4 russ russ 4096 Jun 25 16:37 cookbooks

...recipes for tomcat6 and mongodb (under the cookbooks subdirectory) I downloaded from opscode itself. When I use knife to upload them to my Chef server, which already has a dummy (hello world) recipe on it, I get this error message.

Note that I have used knife from here before to do things that have worked (but not to upload recipes; helloworld actually came down from my server via knife; someone had already put it there for me to use).

Here's my .chef/knife.rb:

~/uas/chef-repos $ cat .chef/knife.rb
log_level                :debug
log_location             STDOUT
node_name                'russ-client'
client_key               '/home/russ/uas/chef-repos/.chef/russ-client.pem'
chef_server_url          'http://16.86.192.111:4000/'
cookbook_path [          "/home/russ/uas/chef-repos/cookbooks",
                         "/home/russ/uas/chef-repos/site-cookbooks" ]
cookbook_email           ">" "
cache_type               'BasicFile'
cache_options( :path => '/home/russ/uas/chef-repos/checksums' )

I've Googled hard for this, but haven't found any help I can relate to what I'm doing or understand. I would greatly appreciate any aid.

Russ



Archive powered by MHonArc 2.6.16.

§