Возможно, я просто делаю что-то ужасно неправильное, но, похоже, я не могу использовать настраиваемые рецепты в хуках развертывания Chef / AWS OpsWorks:
# before_symlink.rb
include_recipe 'supervisor'
При развертывании OpsWorks возникает следующая ошибка:
NoMethodError
-------------
No resource or method named `include_recipe' for `Chef::Provider::Deploy::Timestamped ""'
Мы используем Chef 11.10. Есть идеи, почему это может происходить?
Обновить:
Мы используем эта поваренная книга. Рецепт по умолчанию устанавливает Supervisord, и пока он работает нормально. Мы запускаем это на этапе установки.
Проблемы возникают при попытке использовать supervisor_service
ресурс из той же кулинарной книги во время перехвата развертывания. Сообщение об ошибке в этом случае:
No resource or method named `supervisor_service' for
Первая ошибка, описанная выше, возникает при попытке включить рецепт с помощью include_recipe
.
«Развертывание» OpsWorks - это настраиваемое дополнение AWS для Chef, которое не поддерживает полный набор функций Chef.
Установка supervisord в любом случае не кажется чем-то, что должно быть во время развертывания - это должно быть действие во время сборки экземпляра, хотя вам может потребоваться выполнить действие службы и время развертывания, чтобы вы создали свою кулинарную книгу ' зависит от супервизора, и ваша ловушка развертывания вызовет необходимый ресурс.