我可以强制节点在配方中间执行时将其节点对象发送到厨师服务器吗?

时间:2016-08-10 02:59:05

标签: chef chef-recipe cookbook recipe

我在食谱中这样做:

tag('mytag')
nodeobjs = search(:node, 'tags:mytag')

首次运行节点时,search()将找不到它(直到它再次运行)。

我知道节点在发送服务器之前构建了节点对象的本地副本。是否可以强制节点在配方执行中传播其节点对象?

我显然可以在运行列表中在此配方之前运行的另一个配方中标记节点,但我只是好奇是否可以调用标记('mytag')并立即传播该更改。

1 个答案:

答案 0 :(得分:1)

技术上是,但真的不是。您需要为查看本地数据的本地节点添加一个检查,否则即使使用node.save您也需要处理索引器延迟。