3

在 linux 上尝试了 chef 之后,我现在正在 windows 环境中尝试。所以我的第一个目标是:

  • 在我的本地 Windows 机器中设置厨师客户端
  • 通过 chef-solo 编写一个简单的方法来安装 windows 包

我被困在第 2 点,因为我无法使用 Windows 食谱安装任何东西。也许我不知道如何在 Windows 平台上使用它。所以我希望这里的任何人都能发现我的错误。

我所做的是:

  • opscode-windows-cookbooks下载的 windows 食谱。
  • 将食谱复制到我的食谱文件夹。
  • 通过添加安装 PuTTY 的代码编辑了 windows-master 文件夹中可用的 default.rb
  • 创建了一个包含以下内容的 testrole.json 文件:

{“run_list”:[“recipe[windows-master]”]}

  • 创建了一个包含内容的 solo.rb 文件:

    cookbook_path "C:/chef/chef-repo/cookbooks"

现在,当我在 cmd 窗口中运行命令时。以下是结果

C:\chef\chef-repo>chef-solo -c solo.rb -j testrole.json
Starting Chef Client, version 11.10.0
Compiling Cookbooks...
Recipe: windows-master::default
  * chef_gem[win32-api] action install (up to date)
  * chef_gem[win32-service] action install (up to date)
  * chef_gem[windows-api] action install (up to date)
  * chef_gem[windows-pr] action install (up to date)
  * chef_gem[win32-dir] action install (up to date)
  * chef_gem[win32-event] action install (up to date)
  * chef_gem[win32-mutex] action install (up to date)

================================================================================

Recipe Compile Error in C:/chef/chef-repo/cookbooks/windows-master/recipes/defau
lt.rb
================================================================================


NoMethodError
-------------
No resource or method named `windows_package' for `Chef::Recipe "default"'

Cookbook Trace:
---------------
  C:/chef/chef-repo/cookbooks/windows-master/recipes/default.rb:35:in `from_file
'

Relevant File Content:
----------------------
C:/chef/chef-repo/cookbooks/windows-master/recipes/default.rb:

 28:
 29:  # the rest
 30:  %w{ windows-api windows-pr win32-dir win32-event win32-mutex }.each do |wi
n_gem|
 31:    chef_gem win_gem do
 32:      action :install
 33:    end
 34:  end
 35>> windows_package 'PuTTY version 0.60' do
 36:    source 'http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-instal
ler.exe'
 37:    installer_type :inno
 38:    action :install
 39:  end
 40:
 41:

我在这里错过了什么?有任何想法吗。

提前致谢。

4

1 回答 1

2

看起来您正在点击CHEF-5011,它意外地滑入了 11.10 版本。此错误错误地报告了错误的原因。您可以阅读票证上的信息,但最好的办法是降级到 Chef 11.8,直到下一个修补程序应用于 11.10 系列。

于 2014-02-14T16:13:31.940 回答