Как использовать подготовку chef с нулем chef с рецептами, которые содержат зависимости?
Я очень новичок в Chef и пытаюсь подготовить виртуальную машину на моем узле vsphere, используя "подготовку Chef".
Когда я выполняю следующее
chef-client -z -o 'my_company::vsphere' 'my_company::test_cluster'
Я получаю следующую ошибку:
================================================================================
Error Resolving Cookbooks for Run List:
================================================================================
Missing Cookbooks:
------------------
No such cookbook: firewall
Проведя некоторое исследование, я наткнулся на вопрос и дискуссию: почему шеф-повар не может решить мои поваренные книги?
Здесь Теджей Кардон упоминает, что путь berks должен быть вызван в конфигурации cookbook_path в knife.rb (по крайней мере, так я его интерпретировал). Я добавил его, и теперь мой файл выглядит так:
# See https://docs.getchef.com/config_rb_knife.html for more information on knife configuration options
current_dir = File.dirname(__FILE__)
log_level :info
log_location STDOUT
node_name "empl1234"
client_key "#{current_dir}/empl1234.pem"
chef_server_url "https://my_chef_box/organizations/my_org"
cookbook_path ["#{current_dir}/../cookbooks", "C:/Users/empl1234/.berkshelf/cookbooks"]
Когда я запускаю команду, описанную выше, я все равно получаю ту же ошибку.
Как я уже упоминал выше, я учусь на шеф-повара, поэтому, если ответ очевиден, будьте добры к этому. И я много гуглил, поэтому, если ответ "гуглите! Я получил именно ту страницу, которая вам нужна в качестве первой ссылки", тогда, пожалуйста, дайте мне условия для Google.:) Спасибо!
1 ответ
Видимо, я не читал достаточно близко. Ответ - экспортировать все зависимости с помощью следующей команды:
berks vendor path_to_hold_cookbooks
Затем поместите path_to_hold_cookbooks как cookbook_path в.chef/knife.rb