Как устранить ОШИБКУ Chef :: Exceptions :: CookbookNotFound в opswork

Я пытаюсь установить кастомную кулинарную книгу на opwswork. Итак, я клонировал FFMPEG COOKBOOK в свой репозиторий и выполнил обновления поваренных книг, а затем выполнил ffmpeg с помощью команды ffmpeg :: package. Но я всегда получаю ошибку, как показано ниже

[Среда, 9 октября 2013 г., 10:49:29 +0000] ОТЛАДКА: загрузка рецепта ffmpeg :: package через include_recipe [среда, 9 октября 2013 г., 10:49:29 +0000] ОШИБКА: обнаружено исключение во время выполнения пользовательского рецепта: ffmpeg: : package: Chef :: Exceptions :: CookbookNotFound - Кулинарная книга ffmpeg не найдена - /opt/aws/opsworks/releases/20130926122929_138/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/ chef / cookbook / cookbook_collection.rb: 38: в initialize' /opt/aws/opsworks/releases/20130926122929_138/vendor/bundle/ruby/1.8/gems/ohai-6.16.0/lib/ohai/mash.rb:77:incall '/opt/aws/opsworks/releases/20130926122929_138/vendor/bundle/ruby/1.8/gems/ohai-6.16.0/lib/ohai/mash.rb:77: по умолчанию


person loganathan    schedule 09.10.2013    source источник
comment
насколько я понимаю, похоже, что вы не зарегистрировали кулинарную книгу в Vagrantfile   -  person Vinh Tran    schedule 13.10.2013
comment
Вы нашли решение этой проблемы? Не забудьте отметить ответ как правильный! :)   -  person sethvargo    schedule 03.01.2014


Ответы (3)


Похоже, OpsWorks не находит вашу кулинарную книгу в вашем репозитории.

Как выглядит ваше хранилище кулинарных книг? Opsworks просматривает только одно репо, и, например, все ваши кулинарные книги должны быть вложенными папками этого репо.

cookbooks <-- repo root
 -nginx    <--cookbook
  --attributes
  --definitions
  --files
  --recipes
  --templates
 -ffmpeg   <--cookbook
  --attributes
  --libraries
  --recipes
  --templates

Я считаю, что проще всего установить Chef на моем локальном компьютере и использовать полное репозиторий Chef-repo и создать отдельное репозиторий git в моей папке с кулинарными книгами. Таким образом, я могу использовать нож, чтобы загрузить свои кулинарные книги.

knife cookbook site download ffmpeg
tar -xvzf .\ffmpeg-0.2.1.tar.gz -C .\cookbooks

Затем я отправляю свой репозиторий кулинарных книг на свой сервер git (я использую github) и запускаю команду «Обновить кулинарные книги».

Все это также зависит от того, на каком этапе вы включили свой рецепт ffmpeg, документы OpsWorks объяснят его намного лучше, чем я. http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-executing.html

person Christopher Stafford    schedule 24.10.2013
comment
Папку COOKBOOK переименовал, теперь работает нормально. Спасибо - person loganathan; 25.10.2013

Вам необходимо загрузить эту поваренную книгу в свой репозиторий, чтобы

knife cookbook upload --all

дважды проверьте, загружен ли уже ваш coookbook (ffmeg)

knife cookbook list

хотя вы загружаете исходный код или "устанавливаете на сайте" куокбук, вам все равно нужно его загрузить

person Ryan    schedule 25.10.2013

В разделе Развертывание убедитесь, что update_custom_cookbooks прошел успешно.

У меня были проблемы в прошлом, когда поваренные книги никогда не обновлялись.

Лучшее решение этой проблемы - запустить новый экземпляр, чтобы убедиться, что рецепты работают правильно. Новые экземпляры будут использовать новые поваренные книги.

person Onema    schedule 25.11.2013