Недавно я пытался использовать Chef для предоставления моей локальной среды разработки, однако я не могу заставить Chef распознавать, где расположены кулинарные книги. Мне интересно, может ли кто-нибудь помочь пролить свет на то, что мне не хватает?
Я запускал chef-solo из папки, в которой я все настроил, с помощью следующей команды:
chef-solo -c solo.rb
Это дает следующий результат:
Запуск Chef Client версии 12.4.1 Компиляция поваренных книг ...
Запуск обработчиков: [2015-07-31T11: 52: 26 + 01: 00] ОШИБКА: выполнение обработчиков исключений. Выполнение обработчиков завершено [2015-07-31T11: 52: 26 + 01: 00] ОШИБКА: завершение обработчиков исключений Ошибка Chef Client. 0 ресурсов обновлено за 14,12488 секунд [2015-07-31T11: 52: 26 + 01: 00] FATAL: Stacktrace выгружен в c: /chef/chef-stacktrace.out [2015-07-31T11: 52: 26 + 01: 00 ] FATAL: Chef :: Exceptions :: CookbookNotFound: возвышенный текст поваренной книги не найден. Если вы загружаете возвышенный текст из другой кулинарной книги, убедитесь, что вы настроили зависимость в своих метаданных.
Однако я указал, где найти кулинарные книги в файле solo.rb, который выглядит следующим образом:
root = File.absolute_path(File.dirname(__FILE__))
file_cache_path root
cookbook_path root + "/cookbooks"
json_attribs root + "/solo.json"
А файл solo.json выглядит следующим образом:
{
"run_list": [
"recipe[sublime-text::default]"
]
}
Структура папок следующая:
Chef
-- cookbooks
-- sublime-text
-- solo.json
-- solo.rb
Что-то мне не хватает, чтобы правильно указать путь к кулинарным книгам? Или даже лучше, это вообще правильный способ подготовить одну машину с помощью chef-solo?
Большое спасибо.