厨师客户等待完成

Chef client waiting to finish

当 运行 设置菜谱时出现问题并且客户端 运行 中途挂起时,安装的 Chef 客户端将无法使用。

然后您可以退出机器、重新启动、清理 Chef pid 文件等等,但每次启动 Chef 客户端时都会显示以下消息:

Chef client is running, will wait for it to finish and then run.

当执行重新启动时,Chef 应该能够从中恢复,但事实并非如此。

从中途挂起的客户端 运行 恢复的最佳方法是什么?目前我删除了 VM 并创建了一个新的,但这不是真正的解决方案。

中途挂了还能恢复吗?

如果发生超时 - 收敛应该一次又一次地正常工作。好吧,如果您需要删除客户端 - 您可以 运行 sudo rm -rf /etc/chef 在客户端机器上。 here 详细描述了所有选项。

停止服务(如果有)运行ning : sudo service chef-client stop

如果问题仍然存在

  • 找出主厨客户 process/service 是否是 运行ning: ps aux | grep chef
  • 终止进程

如果问题仍然存在

  • /etc/chef/client.rb and/or 您的 etc/init.d/chef-client
  • 下查找您的 Chef 客户端设置
  • 然后找到 pid_filelockfile 路径
  • 删除文件

如果问题仍然存在,你可能会运行像我一样使用旧版本的 chef-client 你需要查看你的厨师缓存文件夹

我不得不删除 /var/chef/cache/chef-client-running.pid

我 运行 遇到了厨房收敛进程挂起的相同问题,通常是由于我的情况下 msi 安装不正确。然后我将不得不重新启动厨房机器。

我注意到提升的计划任务是 运行,当它停止时,它会终止进程,但是当我再次 运行 它时问题又出现了 ("chef client 2092 is running, will wait for it to finish and then run")。

然后我想到,上次尝试重新启动(通常可以解决问题)没有成功,因为打开的文件阻止了重新启动。重启机器确实解决了我的问题。这不是一个完美的解决方案,但它确实可以作为我的解决方案。