当 yum_package 命令失败时,有没有办法查看潜在错误?

Is there a way to see the underlying error when a yum_package command fails?

Chef 有一些问题让我很不爽,我想知道是否有办法改进它。

当资源无法在节点上执行时,例如 yum_package 资源,我们永远看不到底层错误。我们看到的只是例如:

[2015-01-21T11:51:18-05:00] ERROR: yum_package[expat-devel] (git::default line 14) had an error: Chef::Exceptions::Exec: returned 1, expected 0

这对解决 yum 命令失败的原因没有任何帮助,所以我通常必须自己去 运行 命令并查看 yum 输出(哦 - 找不到包,依赖问题等等......)。

有没有一种方法可以让 Chef 在命令 returns 处于非零状态时输出 stdout/stderr 以便我可以立即看到它失败的原因?

-l debug 添加到您的 chef-client 或 chef-solo 命令。它将显示更多输出,包括所有子命令的标准输出和标准错误。