我正在使用chef-client::cron
(〜> 8.1.8)定期安排节点签入。我注意到我的食谱中的资源cookbook_file
和template
似乎正在执行,即使没有更改。
例如,我有以下代码可以创建一个文本文件来格式化curl命令,这很简单:
食谱:
cookbook_file '/tmp/curl-formatter.txt' do
source 'curl-formatter.txt'
mode '0755'
action :create
end
文件(curl-formatter.txt
):
\n
time_namelookup: %{time_namelookup}\n
time_connect: %{time_connect}\n
time_appconnect: %{time_appconnect}\n
time_pretransfer: %{time_pretransfer}\n
time_redirect: %{time_redirect}\n
time_starttransfer: %{time_starttransfer}\n
------------------------------\n
time_total: %{time_total}\n
\n
文本文件在一年多的时间里并没有发生很大变化,但是我的一些节点显示该资源无论如何都运行了create
操作,但不是所有节点。
对于某些资源(例如上述资源)而言,这并不是什么大问题;但是,其中一些设置为通知服务重启,这似乎造成了随机中断。
节点在Amazon Linux AMI 2016.09.1.20170119 x86_64 HVM GP2上运行,并运行的Chef Client版本范围为12.21.2x至12.22.x。
希望了解是否有人对这发生的原因以及如何最好地解决有更多的了解。