Chef - 无法在规定的时间内解决依赖关系

时间:2014-09-04 05:45:01

标签: chef

当我运行chef-client时,执行有时会因此错误和“Preconditions failed”消息而失败。

它第一次来了我删除了我在服务器上的旧版本的烹饪书,并修复了这个问题。但是,我仍然间歇地得到这个。

产生此结果的确切原因是什么?

1 个答案:

答案 0 :(得分:3)

这是因为服务器具有固定数量的depsolver工作程序,并且每个解析器尝试都有一个超时。您可能希望增加chef-server.rb config中的工作人员数量。

您要查找的媒体资源是opscode_erchef['depsolver_worker_count']。默认值为5.要增加它:

  1. SSH到Chef服务器
  2. /etc/chef-server/chef-server.rb
  3. 打开(可能为空)文件
  4. 添加行opscode_erchef['depsolver_worker_count'] = x(其中x是您要使用的值。应大于5)。保存并关闭文件。
  5. 运行chef-server-ctl reconfigure
  6. 将值设置得足够高(例如,设置为30)后,您仍可能会发现此问题仍然存在。在这种情况下,重复上面的步骤1和2,并添加行opscode_erchef['depsolver_timeout'] = x(其中x是超时之前的时间量,以毫秒为单位。默认值为5000.我个人使用30000)。然后重复步骤4。