我有两个食谱。
幅:: foo的 幅::酒吧
吧有服务,我们会打电话给嗡嗡声
如何在foo cookbook中执行条件依赖,以便。
这样的事情应该有效
幅:: foo的
powershell "do stuff" do
code "echo derp"
notifies :stop "service[buzz]" if node.run_list?('recipe[web::bar]')
end
但是,如果包含配方,这只会停止播放服务。如果蜂鸣器服务存在但尚未启动,则会产生副作用,但会失败。
如果定义了服务,那么最好只停止服务?
答案 0 :(得分:0)
使用此语法。
if node['recipes'].include?('bar::buzz')
(您必须在食谱名称bar::
前面有食谱名称buzz
)
管理buzz的服务需要本质上是幂等的,这样如果服务没有运行,并且无论如何都试图阻止它,它仍然会干净地退出。
感谢IRC中的coderanger澄清了这一点。