Изпълнение на chef-solo (Инсталиране на Chef Omnibus (12.3)) на centos6.6
Моята рецепта има следния прост код:
package 'cloud-init' do
action :install
end
log 'rpm-qi' do
message `rpm -qi cloud-init`
level :warn
end
log 'yum list' do
message `yum list cloud-init`
level :warn
end
Но извежда следното:
- install version 0.7.5-10.el6.centos.2 of package cloud-init
* log[rpm-qi] action write[2015-07-16T16:46:35+00:00] WARN: package cloud-init is not installed
[2015-07-16T16:46:35+00:00] WARN: Loaded plugins: fastestmirror, presto
Available Packages
cloud-init.x86_64 0.7.5-10.el6.centos.2 extras
Загубен съм защо rpm/yum и всъщност rpmquery не виждат пакета като инсталиран.
РЕДАКТИРАНЕ: За да поясня, конкретно търся следната инсталация на пакета за низ, за да приложа промяна във файла (разбирам, че това не е много добър начин да се направи нещо, с удоволствие приемам предложения):
rpmquery -l cloud-init | grep 'distros/__init__.py$'
Открих, че използвайки следното:
install_report = shell_out('yum install -y cloud-init').stdout
cloudinit_source = shell_out("rpmquery -l cloud-init | grep 'distros/__init__.py$'").stdout
След това мога да получа файла, който търся, и да го изпълня
Chef::Util::FileEdit.new(cloudinit_source.chomp(''))
Файлът се премества въз основа на разпространението, но трябва да редактирам този файл специално с промени на място.