【问题标题】:Can I force a node to send its node object to chef server mid-recipe execution?我可以强制节点将其节点对象发送到厨师服务器中间配方执行吗?
【发布时间】:2023-03-25 01:26:01
【问题描述】:

我在食谱中这样做:

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

第一次在节点上运行时 search() 不会找到它(直到它再次运行)。

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

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

【问题讨论】:

    标签: chef-infra chef-recipe cookbook recipe


    【解决方案1】:

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

    【讨论】:

      最近更新 更多