【发布时间】:2023-03-30 03:26:01
【问题描述】:
我是 Chef 的新手,正在尝试使用 ark 在 Windows VM 节点上安装 JMeter。我创建了一本名为 my_jmeter_install 的食谱。我在 my_jmeter_install.rb 中添加了以下 windows 特定属性 -
normal['ark']['win_install_dir'] = 'C:\Users\Administrators\JMeter'
在 my_jmeter_install 食谱的 metadata.rb 中,我添加了 - 取决于“ark”
在 my_jmeter_install 食谱的 default.rb 中,我添加了 -
include_recipe "ark"
ark 'my_jmeter' do
url 'http://mirror.cogentco.com/pub/apache//jmeter/binaries/apache-jmeter-2.13.zip'
version '2.13'
action :install
end
当我收敛节点时,我得到以下错误 -
================================================================================
Error executing action `install` on resource 'ark[my_jmeter]'
================================================================================
ArgumentError
-------------
You must supply a name when declaring a directory resource
Cookbook Trace:
---------------
c:/chef/cache/cookbooks/ark/providers/default.rb:39:in `block in class_from_file'
Resource Declaration:
---------------------
# In c:/chef/cache/cookbooks/my_jmeter_install/recipes/default.rb
22: ark 'my_jmeter' do
23: url 'http://mirror.cogentco.com/pub/apache//jmeter/binaries/apache-jmeter-2.13.zip'
24: version '2.13'
25: action :install
26: end
Compiled Resource:
------------------
# Declared in c:/chef/cache/cookbooks/my_jmeter_install/recipes/default.rb:22:in `from_file'
ark("my_jmeter") do
provider Chef::Provider::Ark
action [:install]
retries 0
retry_delay 2
default_guard_interpreter :default
declared_type :ark
cookbook_name "my_jmeter_install"
recipe_name "default"
url "http://mirror.cogentco.com/pub/apache//jmeter/binaries/apache-jmeter-2.13.zip"
version "2.13"
extension "zip"
prefix_bin "/usr/local/bin"
home_dir "/usr/local/my_jmeter"
release_file "c:/chef/cache/my_jmeter-2.13.zip"
end
我没有找到任何使用 ark for windows 的示例。有人可以帮助解决 my_jmeter_install 食谱中的问题吗?如果不推荐使用 ark 进行此安装,那是什么? 谢谢!
【问题讨论】:
-
在为 chef-client 打开调试选项后,我可以看到 ark/libraries/default.rb 中未设置“路径” - if node['platform_family'] === 'windows' new_resource.path = new_resource.win_install_dir 我猜“platform_family”没有被设置为“windows”,因为我已经为“win_install_dir”创建了一个属性,如上所示。任何想法为什么?
标签: chef-infra