如何使用Chef复制Puppet干运行选项来验证机器是否具有与配方匹配的状态?
答案 0 :(得分:2)
Opscode去年推出了他们自己的干运行模式,名为'why-run',www.opscode.com / blog / 12/09/07 / chef-10-14-0-released/。但是你必须要小心,因为所有这些自我监控功能的准确性存在限制,如下所述: http://blog.afistfulofservers.net/post/2012/12/21/promises-lies-and-dryrun-mode/
使用外部工具验证机器的当前状态是否已经处于已知良好状态可能是更好的选择。查看http://www.metaforsoftware.com/,它将在大型机器组中运行差异算法,以便您可以确切地看到已更改的内容。他们之间缺少。它是免费测试版,我们计划永远免费版。 (FD:我是联合创始人所以所有警告都适用;-)
答案 1 :(得分:1)
通过使用报表处理程序检查Chef-client运行结束时更新的资源数量,您可以实现略微相似的功能:
http://wiki.opscode.com/display/chef/Exception+and+Report+Handlers
和相关的示例处理程序:
http://jtimberman.posterous.com/a-simple-report-handler
但是,这并不能替代--dry-run选项,在该选项中不会执行修改状态的操作。
此外,很容易懒惰写配方,无论是否需要,都会始终执行操作。这会导致报表处理程序中更新操作的计数不为零,但计算机上的状态未发生更改。