【问题标题】:Why does Chef throw fatal error on restart request为什么厨师在重新启动请求时抛出致命错误
【发布时间】:2016-08-21 06:12:28
【问题描述】:

我正在尝试在 client.log 上使用日志过滤器来评估 Chef 是否成功运行。

在 Chef 运行的正常过程中,我的食谱要求重新启动。

厨师日志:

  FATAL: Chef::Exceptions::Reboot: Rebooting server at a recipe's request. 

为什么 Chef 在正常重启请求时会抛出错误?如何防止记录此错误。

我的重启请求看起来像

reboot "my_reboot" do
  action :reboot_now
  reason 'There is a pending reboot.'
  only_if { reboot_pending? }
  delay_mins 0.5
end

【问题讨论】:

  • 除了上面的日志,还有一点可以说明原因。请尝试在调试中运行以检查原因或提供更多日志。

标签: chef-infra chef-recipe chef-zero


【解决方案1】:

因为我们希望避免在 Chef 聚合中进一步运行任何内容,而最简单的方法是引发异常。

【讨论】:

  • 例外应该是例外。如果日志不是确定上次厨师运行是否返回错误的可靠来源,那么是什么?
  • 这是一个奇怪的特殊情况,因为 Ruby 没有任何其他非本地代码执行流结构可以在这种情况下正常工作。您只需为其添加一个过滤器。这就是在一个不完美的世界中构建软件的现实:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-21
  • 1970-01-01
  • 2015-10-28
  • 2012-01-17
  • 1970-01-01
相关资源
最近更新 更多