当我运行chef-client时,执行有时会因此错误和“Preconditions failed”消息而失败。
它第一次来了我删除了我在服务器上的旧版本的烹饪书,并修复了这个问题。但是,我仍然间歇地得到这个。
产生此结果的确切原因是什么?
答案 0 :(得分:3)
这是因为服务器具有固定数量的depsolver工作程序,并且每个解析器尝试都有一个超时。您可能希望增加chef-server.rb config中的工作人员数量。
您要查找的媒体资源是opscode_erchef['depsolver_worker_count']
。默认值为5.要增加它:
/etc/chef-server/chef-server.rb
opscode_erchef['depsolver_worker_count'] = x
(其中x是您要使用的值。应大于5)。保存并关闭文件。chef-server-ctl reconfigure
将值设置得足够高(例如,设置为30)后,您仍可能会发现此问题仍然存在。在这种情况下,重复上面的步骤1和2,并添加行opscode_erchef['depsolver_timeout'] = x
(其中x是超时之前的时间量,以毫秒为单位。默认值为5000.我个人使用30000)。然后重复步骤4。