Как использовать подготовку шеф-повара с нулевым шеф-поваром с рецептами, которые содержат зависимости?

Я новичок в Chef и пытаюсь подготовить виртуальную машину на своем узле vsphere, используя «подготовку шеф-повара».

Когда я выполняю следующее

chef-client -z -o 'my_company::vsphere' 'my_company::test_cluster'

Я получаю следующую ошибку:

================================================================================
Error Resolving Cookbooks for Run List:
================================================================================

Missing Cookbooks:
------------------
No such cookbook: firewall

Проведя некоторое исследование, я наткнулся на этот вопрос и обсуждение: Почему шеф-повар не может разрешить мой кулинарные книги?

Здесь Tejay Cardon упоминает, что путь 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. :) Спасибо!


person Jason Thompson    schedule 30.09.2016    source источник
comment
Напоминаем: использование шеф-обеспечения для новых проектов не рекомендуется, так как проект больше не находится в стадии разработки. Поскольку это звучит так, как будто вы новичок, вам, вероятно, следует остановиться и перестроиться поверх Terraform, SparkleFormation или чего-то еще.   -  person coderanger    schedule 01.10.2016
comment
Какое напоминание? Там нет документации, которая говорит об этом. Если это правда, это действительно разочаровывает людей, пытающихся изучить эту технологию. С Java ясно, когда что-то устарело.   -  person Jason Thompson    schedule 03.10.2016
comment
У меня есть сообщение об этом на coderanger.net/provisioning.   -  person coderanger    schedule 03.10.2016


Ответы (1)


Видимо, я невнимательно читал. Ответ заключается в том, чтобы экспортировать все зависимости с помощью следующей команды:

berks vendor path_to_hold_cookbooks

Затем поместите path_to_hold_cookbooks в качестве cookbook_path в .chef/knife.rb.

person Jason Thompson    schedule 30.09.2016