0

我对 Chef 很陌生,我正在尝试使用“厨师配置”在我的 vsphere 节点上配置 VM。

当我执行以下

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 在这里提到应该在knife.rb 的cookbook_path 配置中调用berks 路径(至少我是这样解释的)。我添加了它,现在我的文件如下所示:

# 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"]

当我运行上面列出的命令时,我仍然得到同样的错误。

正如我上面提到的,我正在学习厨师,所以如果答案很明显,请善待它。而且我已经做了很多谷歌搜索,所以如果答案是“谷歌它!我得到了你需要的确切页面作为第一个链接”,那么请给我谷歌的条款。:) 谢谢!

4

1 回答 1

3

显然我读得不够仔细。答案是使用以下命令导出所有依赖项:

berks vendor path_to_hold_cookbooks

然后将path_to_hold_cookbooks作为 .chef/knife.rb 中的 cookbook_path

于 2016-09-30T21:16:23.507 回答