我有基本的厨师食谱,其中一个食谱在第一次运行中没有收敛。
Chef Cookbook:https://github.com/linaksa/linaksa_infra
当我运行kitchen test
时,食谱linaksa_infra::hosts
根本没有收敛。此外,当我运行kitchen setup
时,它不会收敛,但如果我之后运行kitchen converge
则会收敛。我不确定我做错了什么?
以下是kitchen test
kitchen setup
和kitchen converge
的输出:https://gist.github.com/linaksa/76607bbfd15e471dfa67
我正在使用Chef DK 0.10.0。任何帮助都将受到高度赞赏。
答案 0 :(得分:4)
别担心,配方在两种情况下都会执行。
问题是,如果至少在其中包含资源,则配方仅在上打印。
查看食谱代码:
nodes = search(:node, 'ipaddress:*')
nodes.each do |n|
hostsfile_entry n['ipaddress'] do
# [...]
end
end
原因是第一次搜索没有返回任何节点(我们正在使用厨房)。所以在第一次运行时,这个配方不会创建任何资源。因此,配方不会在执行时显示在屏幕上。
第二次,如果您使用chef_zero
配置器,搜索将返回localhost计算机,因为它是在上一次主厨运行结束时保存的。
您可以尝试使用-l debug
运行厨房来确认发生了什么。