Chef infra 第一次收敛时未执行Chef recipe

Chef infra 第一次收敛时未执行Chef recipe,chef-infra,chef-recipe,test-kitchen,Chef Infra,Chef Recipe,Test Kitchen,我有一本基本的厨师烹饪书,其中一个食谱在第一次运行时并不一致 厨师食谱: 当我运行kitchen test时,配方linaksa_infra::hosts根本不会收敛。另外,当我运行kitchen setup时,它不会收敛,但如果我运行kitchen converge之后,它会收敛。我不确定我做错了什么 以下是厨房测试厨房设置和厨房收敛的输出: 我使用的是Chef DK 0.10.0。任何帮助都将不胜感激。别担心,这两种情况下都会执行配方 问题在于,如果配方中至少包含一个资源,则配方仅打印在屏幕

我有一本基本的厨师烹饪书,其中一个食谱在第一次运行时并不一致

厨师食谱:

当我运行
kitchen test
时,配方
linaksa_infra::hosts
根本不会收敛。另外,当我运行
kitchen setup
时,它不会收敛,但如果我运行
kitchen converge
之后,它会收敛。我不确定我做错了什么

以下是
厨房测试
厨房设置
厨房收敛
的输出:


我使用的是Chef DK 0.10.0。任何帮助都将不胜感激。

别担心,这两种情况下都会执行配方

问题在于,如果配方中至少包含一个资源,则配方仅打印在屏幕上

查看配方代码:

nodes=搜索(:node,'ipaddress:')
节点。每个节点都有| n|
hostsfile_条目n['ipaddress']do
# [...]
结束
结束
原因是第一次搜索没有返回节点(我们使用的是kitchen)。因此,在第一次运行时,此配方不会创建任何资源。因此,配方不会在执行时显示在屏幕上

第二次,如果您使用的是
chef_zero
provisioner,搜索将返回本地主机,因为它是在上次chef运行结束时保存的


您可以尝试使用
-l debug
运行kitchen来确认发生了什么。

别担心,配方在这两种情况下都会执行

问题在于,如果配方中至少包含一个资源,则配方仅打印在屏幕上

查看配方代码:

nodes=搜索(:node,'ipaddress:')
节点。每个节点都有| n|
hostsfile_条目n['ipaddress']do
# [...]
结束
结束
原因是第一次搜索没有返回节点(我们使用的是kitchen)。因此,在第一次运行时,此配方不会创建任何资源。因此,配方不会在执行时显示在屏幕上

第二次,如果您使用的是
chef_zero
provisioner,搜索将返回本地主机,因为它是在上次chef运行结束时保存的

您可以尝试使用
-l debug
运行kitchen来确认发生了什么