【发布时间】:2015-07-07 08:08:05
【问题描述】:
我有两个食谱。
web::foo 网页::栏
bar有服务,我们会叫buzz
如何在 foo 食谱中进行条件依赖。
- 如果 bar::service[buzz] 正在运行,它将停止
- 如果 bar::service[buzz] 未运行,则跳过通知。
这样的东西应该可以工作
web::foo
powershell "do stuff" do
code "echo derp"
notifies :stop "service[buzz]" if node.run_list?('recipe[web::bar]')
end
但是,这只会在包含食谱的情况下停止蜂鸣服务。它的副作用是如果buzz服务存在,但还没有启动,它会失败。
如果已定义,仅停止服务的最佳方法是什么?
【问题讨论】:
-
另外——你考虑过使用
status_command来查询吗? status_command 参数允许您在调用service时指定您喜欢的任意命令。您可以将其存储在一个变量中以供您的 if 检查或类似的东西
标签: chef-infra