在资源 'yum_package[newrelic-repo]' 上执行操作“install”时出错

Error executing action `install` on resource 'yum_package[newrelic-repo]'

我试图下载 newrelic-5-3.rpm 文件,然后尝试在我的厨师收据中安装该软件包。当我尝试 运行 kitchen-verify

时出现以下异常
 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

但是,当我尝试 运行 在 rhel-67 机器上以 root 用户身份单独执行这些命令时,我能够成功安装它们。谁能帮我弄清楚我的食谱哪里出了问题,我想我可能在我的食谱中的包资源上给出了错误的源位置,我被困在这里了。

yum_package resourcesource 属性 不是 URL 而是本地文件系统上的路径。

您应该将它指向您使用 remote_file 资源下载它的位置。我建议使用绝对路径。

例如

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