0
以下廚師食譜代碼旨在安裝或升級給定的包名爲東西。這個配方的目標是:正確的方式來執行一個包安裝或與廚師升級
- 執行初始安裝包/服務
- 的保持服務運行時沒有必要升級包
- 如果新版本的升級服務該RPM是可用的,在這種情況下,重新啓動服務升級
不知何故出現安裝運行良好後,但在升級廚師客戶端的事件報告與缺少以下錯誤的init.d腳本,所以會出現該包被unistalled,而不是重新安裝正確:利益
ERROR: service[something] (something::something-deploy line 36)
had an error: Chef::Exceptions::Service: service[something]:
unable to locate the init.d script!
配方代碼:
package 'something' do
action :upgrade
notifies :restart, "service[something]", :delayed
end
service 'something' do
action :enable
end
這麼想的服務名稱在升級過程中改變了嗎? (tomcat以tomcat7爲例)?這將解釋爲什麼找不到init.d腳本。 – Tensibai
RPM名稱已更改,但本身沒有服務......我將命名格式從* something-1.0-230.rpm *更改爲* something-2017.05.09.231-231.rpm *其中230和231是內部編號。我不確定這是否會導致服務名稱發生改變 – gextra
我無法猜測您的rpm的功能,請檢查filesytem以確保有什麼和不是。但是,如果廚師找不到init.d腳本,這意味着有些東西在某處將其刪除,而這不是廚師,無論是yum(由包資源使用)還是您的rpm內部代碼在設置時都存在問題。用一個僞造的食譜我不能說,這只是猜測 – Tensibai