Chef infra 使用chef windows软件包安装windows应用程序
我正在尝试使用Chef的“Windows master”食谱在Windows 7计算机上安装程序包:。我做的第一件事就是抓取安装firefox示例,并尝试在我的环境中运行它。我运行chef客户端时出错:Chef infra 使用chef windows软件包安装windows应用程序,chef-infra,chef-solo,Chef Infra,Chef Solo,我正在尝试使用Chef的“Windows master”食谱在Windows 7计算机上安装程序包:。我做的第一件事就是抓取安装firefox示例,并尝试在我的环境中运行它。我运行chef客户端时出错: Starting Chef Client, version 11.12.4 [2014-05-16T15:15:50-04:00] INFO: *** Chef 11.12.4 *** [2014-05-16T15:15:50-04:00] INFO: Chef-client pid: 1528
Starting Chef Client, version 11.12.4
[2014-05-16T15:15:50-04:00] INFO: *** Chef 11.12.4 ***
[2014-05-16T15:15:50-04:00] INFO: Chef-client pid: 1528
[2014-05-16T15:16:03-04:00] INFO: Run List is [role[WindowsUserDesktop]]
[2014-05-16T15:16:03-04:00] INFO: Run List expands to [AdminUserAccounts::monito
r_user, Windows7x32Desktop::InstallFirefox]
[2014-05-16T15:16:03-04:00] INFO: Starting Chef Run for Windows7Node
[2014-05-16T15:16:03-04:00] INFO: Running start handlers
[2014-05-16T15:16:03-04:00] INFO: Start handlers complete.
resolving cookbooks for run list: ["AdminUserAccounts::monitor_user", "Windows7x
32Desktop::InstallFirefox"]
[2014-05-16T15:16:04-04:00] INFO: Loading cookbooks [AdminUserAccounts@0.1.4, Wi
ndows7x32Desktop@0.1.7, windows-master@1.31.1, chef_handler@1.1.7]
Synchronizing Cookbooks:
- AdminUserAccounts
[2014-05-16T15:16:04-04:00] INFO: Storing updated cookbooks/Windows7x32Desktop/r
ecipes/InstallFirefox.rb in the cache.
- Windows7x32Desktop
- windows-master
- chef_handler
Compiling Cookbooks...
================================================================================
Recipe Compile Error in c:/chef/cache/cookbooks/Windows7x32Desktop/recipes/Insta
llFirefox.rb
================================================================================
Chef::Exceptions::ValidationFailed
----------------------------------
Option installer_type must be a kind of [String]! You passed :custom.
Cookbook Trace:
---------------
c:/chef/cache/cookbooks/Windows7x32Desktop/recipes/InstallFirefox.rb:20:in `bl
ock in from_file'
c:/chef/cache/cookbooks/Windows7x32Desktop/recipes/InstallFirefox.rb:16:in `fr
om_file'
Relevant File Content:
----------------------
c:/chef/cache/cookbooks/Windows7x32Desktop/recipes/InstallFirefox.rb:
13: # action :create_if_missing
14: #end
15:
16: windows_package 'Mozilla_Firefox30' do
17: action :install
18: source 'https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/30.0b1/
win32/en-US/Firefox%20Setup%20Stub%2030.0b1.exe'
19: options '-ms'
20>> installer_type :custom
21: end
22:
23:
24:
25:
Running handlers:
[2014-05-16T15:16:04-04:00] ERROR: Running exception handlers
Running handlers complete
[2014-05-16T15:16:04-04:00] ERROR: Exception handlers complete
[2014-05-16T15:16:04-04:00] FATAL: Stacktrace dumped to c:/chef/cache/chef-stack
trace.out
Chef Client failed. 0 resources updated in 19.84961 seconds
[2014-05-16T15:16:04-04:00] INFO: Sending resource update report (run-id: 5c1b1d
60-dbf6-4f95-af8f-4a979244aee8)
[2014-05-16T15:16:04-04:00] FATAL: Chef::Exceptions::ValidationFailed: Option in
staller_type must be a kind of [String]! You passed :custom.
考虑到复制和粘贴的示例,我有点困惑,除了我更改的url以反映最新版本的Firefox之外
我查看了我下载的windows master版本中的package.rb资源,“installer_type”属性并没有查找“String”类型。这是供参考的
actions :install, :remove
default_action :install
attribute :package_name, :kind_of => String, :name_attribute => true
attribute :source, :kind_of => String, :required => true
attribute :version, :kind_of => String
attribute :options, :kind_of => String
attribute :installer_type, :kind_of => Symbol, :default => nil, :equal_to => [:msi, :inno, :nsis, :wise, :installshield, :custom]
attribute :checksum, :kind_of => String
attribute :timeout, :kind_of => Integer, :default => 600
attribute :success_codes, :kind_of => Array, :default => [0, 42, 127]
# TODO
# add preseeding support
#attribute :response_file
# allow target dirtory of installation to be set
#attribute :target_dir
# Covers 0.10.8 and earlier
def initialize(*args)
super
@action = :install
end
任何帮助都将不胜感激。我在这里回答了这个问题。