Chef infra 在资源'上执行操作“install”时出错;百胜套餐[newrelic repo]';

Chef infra 在资源'上执行操作“install”时出错;百胜套餐[newrelic repo]';,chef-infra,yum,test-kitchen,Chef Infra,Yum,Test Kitchen,我试图下载newrelic-5-3.rpm文件,然后尝试在我的chef receipe中安装该软件包。当我尝试运行厨房验证时,出现以下异常 Chef::Exceptions::Package ------------------------- Package newrelic-repo not found: https://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm

我试图下载newrelic-5-3.rpm文件,然后尝试在我的chef receipe中安装该软件包。当我尝试运行厨房验证时,出现以下异常

 Chef::Exceptions::Package
       -------------------------
       Package newrelic-repo not found: https://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm
我的食谱:

remote_file "newrelic.rpm" do
  source "https://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm"
  owner 'root'
  group 'root'
  mode  0755
end

package "newrelic-repo" do
  source "https://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm"
  action  :install
end
命令

yum -y install https://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm
yum -y install newrelic-sysmond

然而,当我尝试以root用户的身份在rhel-67机器上单独运行这些命令时,我成功地安装了它们。谁能帮我找出我的配方哪里出了问题,我猜我可能在配方中的包资源上给出了错误的源位置,我被困在这里。

source
属性不是URL,而是本地文件系统上的路径

您应该使用
remote\u文件
资源将其指向下载位置。我推荐一条绝对路径

例如


source
属性不是URL,而是本地文件系统上的路径

您应该使用
remote\u文件
资源将其指向下载位置。我推荐一条绝对路径

例如


配方中的
source
可以是这样的远程URL吗?我所看到的文档似乎并没有表明它可以。@EtanReisner我想我们可以使用chef document for remote_file的例子,但我同意应该在属性中声明它,并在配方中访问它。我已经更改了。谢谢
远程文件
不是一回事。而
remote_file
听起来正是我希望
source
条目在
package
中起作用的那种东西。。。正如贴出的答案所示。配方中的
source
可以是这样的远程URL吗?我所看到的文档似乎并没有表明它可以。@EtanReisner我想我们可以使用chef document for remote_file的例子,但我同意应该在属性中声明它,并在配方中访问它。我已经更改了。谢谢
远程文件
不是一回事。而
remote_file
听起来正是我希望
source
条目在
package
中起作用的那种东西。。。正如贴出的答案所示。谢谢你纠正我的错误。通过更正位置,我成功地安装了该软件包。但是,我很想知道在Rhel中安装软件包通常考虑什么路径。它是否总是“/tmp”。我还观察到“#{Chef::Config['file_cache_path']”在路径位置的某些配方中定义,但不确定该位置是否指向/tmp位置或其他位置。您能否就此向我提供建议,以及文件\u cache\u path对应的内容。感谢您抽出时间。感谢您纠正我的错误。我能够通过纠正位置成功安装程序包。但是,我很想知道是什么在Rhel中安装软件包时通常会考虑路径。路径是否始终是“/tmp”。我还观察到在路径位置的一些配方中定义了“#{Chef::Config['file_cache_path']”,不确定它是否指向/tmp位置或其他位置。您能否就此向我提供建议,以及文件_cache_路径对应什么。谢谢您的时间。
remote_file "/tmp/newrelic.rpm" do
  source "https://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm"
  owner 'root'
  group 'root'
  mode  0755
end

package "newrelic-repo" do
  source "/tmp/newrelic.rpm"
  action  :install
end