在资源' yum_package [newrelic-repo]'上执行动作`install`时出错

时间:2016-04-11 14:54:30

标签: chef yum test-kitchen

我试图下载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用户身份单独运行命令时,我能够成功安装它们。任何人都可以帮我弄清楚我的食谱在哪里出错了,我想我可能会在我的食谱中给出包装资源上不正确的来源位置而且我被困在这里。

1 个答案:

答案 0 :(得分:0)

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

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

E.g。

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