Error handling 如何处理chef中的错误标准

Error handling 如何处理chef中的错误标准,error-handling,chef-infra,Error Handling,Chef Infra,如何在收敛阶段处理chef错误。我正在检查以处理包资源运行期间的错误,当得到该异常/错误时,它将通知其他资源执行 我理解这一点,我们可以用处理程序来处理,但如何编写处理程序模块以仅在遇到某种类型的stderr或发生异常时执行代码 e、 g Chef是一个围绕承诺理论构建的聚合系统。对于错误没有具体的处理方法,因为每个承诺单元(通常是Chef中的资源)都应该是内部幂等的,并且自己处理这类事情。如果某个资源被迫出错,则假定它是全局致命的。如果发现错误,请描述系统的所需状态,不要尝试修复。如果需要

如何在收敛阶段处理chef错误。我正在检查以处理包资源运行期间的错误,当得到该异常/错误时,它将通知其他资源执行

我理解这一点,我们可以用处理程序来处理,但如何编写处理程序模块以仅在遇到某种类型的stderr或发生异常时执行代码

e、 g




Chef是一个围绕承诺理论构建的聚合系统。对于错误没有具体的处理方法,因为每个承诺单元(通常是Chef中的资源)都应该是内部幂等的,并且自己处理这类事情。如果某个资源被迫出错,则假定它是全局致命的。

如果发现错误,请描述系统的所需状态,不要尝试修复。如果需要执行特定任务,请在安装此软件包之前执行这些任务。。。
3: package "mdadm" do
4:   timeout '300'
5: end
6:


Mixlib::ShellOut::ShellCommandFailed: package[mdadm] (cookbook-common::raid line 3) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received ''
---- Begin output of /usr/bin/python /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/package/yum-dump.py --options --installed-provides --yum-lock-timeout 30 ----
STDOUT:
STDERR: Fatal Python error: pycurl: libcurl link-time version is older than compile-time version