why-run Chef

阅读数:548 2012 年 9 月 26 日

话题:DevOps

本月早些时候发布了新版本的 Chef(10.14.0),其中包含了今年 5 月 Chef 大会上讲到的一组重要特性。 期待已久的演练或无操作特性(最终命名为 why-run)允许 Chef 进行预测,按照指定的配置集将向系统发起什么变更。

由于一个或者多个配置中的步骤之间可能存在相关性,工具会根据一些假设来决定系统的当前状态(例如,某个服务应该在运行,但 Chef 无法确定它的状态,它会假设该服务之前已经安装好了,报告该服务将被启动,而非安装)。

Chef 还会假设条件化命令(比方说包含 not_if 或 only_if 属性的命令)只是用来避免不必要的动作的(例如,如果已经安装了某个软件的最新版本,就不会升级该软件),不会改变系统状态。

该版本里还包含另一个 5 月提到的特性,即可以选择输出格式,从最精简的到最冗长的(与 rspec 类似)。

最后,还有一个新特性是错误检测,它能针对一些错误分类,提示配置中的错误步骤,以此帮助 Chef 用户减少调试问题的时间。

查看英文原文:Why-run Chef