我目前创建了一个自定义lwrp,它基本上运行一个bash脚本,在tomcat重新启动后为localhost卷曲,以确保服务正在运行。
我的提供商文件如下所示:
use_inline_resources
action :run do
bash "checkhealth" do
user "root"
code <<-EOF
echo Started counting
curl http://localhost/version.html
...
EOF
end
end
在我的一个节点上,我有以下块:
service "node" do
supports :start => true, :stop => true, :restart => true, :status => true
action :nothing
notifies :run, "healthcheck[check-status]", :delayed
end
当我运行chef-client时,我可以看到bash代码中的回声。
但是,在另一个节点上,我有一个这样的块:
service "tomcat" do
action :restart
notifies :run, "healthcheck[check-status]", :delayed
end
但是我无法看到回声的任何输出,它看起来不像bash代码正在运行。我知道正在执行bash资源,因为日志输出表明bash资源已成功运行。但是,在日志显示后有一个很长的延迟:
action run[2014-07-23T09:10:23-07:00] INFO: Processing bash[checkhealth] action run
当它说它成功时,这让我觉得bash代码有些奇怪,但我不确定是什么。这就是我被困住的地方,希望你们能帮助我找出这个奇怪的错误:)。我猜这可能与以下事实有关:在第一个块中,操作是:nothing ,但第二个块有:restart 。< / p>
让我知道你们的想法。
谢谢!
答案 0 :(得分:-1)
为什么不模仿旧詹金斯食谱(v1.2.2)曾经做过的事情?
请参阅: