gpt4 book ai didi

chef-infra - 'converge_by'是什么意思

转载 作者:行者123 更新时间:2023-12-04 13:37:45 26 4
gpt4 key购买 nike

我是chef的新手,刚开始使用machineLWRP资源。

在进行大量阅读时,我发现了converge_by一词。这是什么意思?

最佳答案

如果您编写自己的纯Ruby代码,以修改LWRP中的系统,那么您想用converge_by包装该代码。它有两件事,那就是它保护包装的代码,以使它不会在运行原因模式下运行。并且它会在运行时自动将资源标记为已更新。

为了使要写入的资源是幂等的(并且不会在每次运行时都报告为更新的),通常应该在对幂等的检查中包装converge_by。

所以像这样:

use_inline_resources
action :doit do
unless File.exist("/tmp/doit")
converge_by("creating /tmp/doit") do
FileUtils.touch("/tmp/doit")
end
end
end

当然,核心厨师资源已经为您完成了大部分工作,因此在该示例中,其更好的编写方式如下:
use_inline_resources
action :doit do
file "/tmp/doit"
end

这表明您的第一选择应该是从其他资源中组合 Action ,第二选择通常是编写自己的converge_by代码。

关于chef-infra - 'converge_by'是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35238385/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com