【问题标题】:error using chef cookbook ark to install jmeter on a windows server使用 Chef Cookbook ark 在 Windows 服务器上安装 jmeter 时出错
【发布时间】: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


【解决方案1】:

我想关闭这个帖子,以防其他人遇到这个问题。在配方代码中添加 win_install_dir 属性解决了这个问题。

ark 'apache-jmeter' do
    url 'http://mirror.cogentco.com/pub/apache//jmeter/binaries/apache-jmeter-2.13.zip'
    version '2.13'
    owner 'administrator'
    win_install_dir 'c:\users\administrator\jmeter'
    strip_components 0
    action :install
end

【讨论】:

  • 这解决了我的问题。似乎它没有记录在方舟食谱中?感谢分享!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-27
  • 2013-02-27
  • 2019-08-07
  • 1970-01-01
  • 2018-04-08
  • 2012-07-07
相关资源
最近更新 更多