Я пытался загрузить файл newrelic-5-3.rpm, а затем попытаюсь установить пакет в моем chef receipe. Я получаю следующее исключение при попытке запустить кухня проверитьОшибка выполнения действия `install` on resource 'yum_package [newrelic-repo]'
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, я смог установить их успешно. Может ли кто-нибудь помочь мне разобраться, где я ошибаюсь в своем рецепте, и я предполагаю, что я могу дать неправильное исходное местоположение на ресурсе пакета в своем рецепте, и я застрял здесь.
Может ли «источник» в рецепте быть удаленным URL-адресом? Документация, которую я вижу, кажется, не указывает, что она может. –
@EtanReisner Я думаю, мы могли бы использовать, как я заметил из примера в документе chef для файла remote_file https://docs.chef.io/resource_remote_file.html, но я согласен, что он должен быть объявлен в атрибутах и получить доступ к нему в рецепте. Я изменил это.Спасибо – bablu
'remote_file' и' package' - это не одно и то же. И 'remote_file' звучит точно так же, как я предполагаю, чтобы запись' source' в 'package' работала ... так же, как указывал ответ. –