【发布时间】:2023-03-22 09:32:02
【问题描述】:
我有一个如下定义的食谱,使用厨师客户端 12.21.12
cron_d 'cookbooks_report' do
action ((node.roles.include?('dev') && node.tags.include?('dev-env'))? :create : :delete
minute '0'
hour '0'
weekday '1'
command .....
end
带有条件的操作 - 这没有按预期工作。
action ((node.roles.include?('dev') && node.tags.include?('dev-env'))? :create : :delete
action 是否支持 cron_d 资源中的条件? - 看起来支持这个,参考我的评论。
我是否需要使用 not_if 或 if_only 来应用该条件? - 这不是必需的。
两者之间是否有任何显着差异
node.roles.include?('value') 和 node['role'].include?('value')?
如何检查哪一个在这里有效?
【问题讨论】:
-
当属性操作与以下条件`操作一起使用时(“真”==“真”)? :create : :delete` 它正在工作......所以我认为它是 node.roles 和 node.tags 在某些情况下不起作用。
-
node.roles.inclde?('dev')有错别字,您的答案似乎也可能有错别字,其中include('value')需要是带有问号的include?('value')等,因此很难说出您的实际问题是什么是这个 SO 帖子中的印刷错误。 -
错字是我的错。最终,Chef 客户端版本出现了问题。12.0 客户端的节点很少。
标签: chef-infra