2013-03-19 2 views
6

Hy Я пытаюсь запустить рецепт MongoDB с шеф-поваром Solo на Amazon EC2 Linux AMI. Я установил Omnibus, установил путь поваренной книги в файле .rb и список в файле .json. Я скопировал содержимое zip-файла рецепта mongodb из github в папку cookbook и выполнил команду chef-solo. Результат:Chef Solo error: Cookbook apt not found

FATAL: Шеф-повар :: Исключения :: CookbookNotFound: Cookbook apt not found. Если вы загружаете apt из другой кулинарной книги, убедитесь, что вы настраиваете зависимость в своих метаданных.

Я тоже довольно новичок в Linux, что я здесь делаю неправильно?

ответ

7

Ошибка довольно описательная. Вероятно, у вас есть кулинарная книга в вашем списке, содержащая depends apt в своем файле metadata.rb.

К счастью, это легко решить - просто включить apt поваренную книгу (https://github.com/opscode-cookbooks/apt) в папку cookbooks и вызвать его в runlist (или роли, когда вы дойдете до этого уровня).

+0

Он отлично работал на моем местном Ubuntu, но он по-прежнему не работает на Amazon EC2. Я предполагаю, потому что у него нет подходящего. Одна из ошибок заключается в следующем: ОШИБКА: выполнить [apt-get-update] (apt :: default line 22) была ошибка: нет такого файла или каталога - apt-get update; ignore_failure установлен, продолжается Угадайте, что это не имеет большого значения, потому что оно продолжается. Подходящий: * package [update-notifier-common] action install * Нет версии, указанной для версии update-notifier-common Я обновил readme для apt cookbook, но это не так. Не говорите, что что-то нужно уточнить. – Csapi007

+0

Похоже, что нет ECT на EC2, там вы не должны помещать его в свой список (есть только кулинарная книга, если mongodb также требует ее на EC2) – cmur2

+0

Да, я попытался установить рецепт MongoDB таким образом, ошибка сообщение, которое я получаю: - * пакет [mongo-10gen-server] action install * Нет указанной версии, и никакой версии кандидата для mongo-10gen-server нет. Что странно, потому что в запуске по умолчанию используется рецепт из списка 10gen один. Связано ли это с моей предыдущей проблемой или что-то совершенно другое? : S – Csapi007

10

Если вы используете chef-solo, убедитесь, что ваш solo.rb указывает на правильное расположение поваренной книги. Я поставил его как:

cookbook_path "/root/chef-repo/cookbooks" 

вместо:

cookbook_path "/home/ubuntu/chef-repo/cookbooks" 
2

Karishma правильно in her answer, хотя я хотел бы расширить его и сделать его более динамичным, пропуская абсолютные пути. Вот моя реализация:

root = File.absolute_path(File.dirname(__FILE__)) 
file_cache_path root 
cookbook_path root + '/cookbooks' 

Она устанавливает пути, чтобы быть там, где вы поместите файл solo.rb.

2

Это случилось со мной, потому что я забыл сначала запустить librarian-chef install!

Смежные вопросы