在完全测试您的场景后确认我遇到了同样的问题,我在 attributes/default.rb 文件中向推送作业说明书本身的白名单中添加了一个测试命令: p>
default['push_jobs']['whitelist'] = { 'chef-client' => 'chef-client', 'new-command' => 'chef-client' }
并验证白名单在写入节点上的 C:\chef\push-jobs.client.rb 时包含这些命令,我在引导后尝试运行命令使用推送作业食谱:
但是,当我尝试执行该命令时:
knife job start --timeout 600 'new-command' server.fqdn
我也会立即失败:
Started. Job ID: db3a99728dbded7abd35ed40d4ec3d5f
Quorum_failed.
command: new-command
created_at: Thu, 19 Nov 2015 23:31:57 GMT
id: db3a99728dbded7abd35ed40d4ec3d5f
nodes:
nacked: server.fqdn
run_timeout: 600
status: quorum_failed
updated_at: Thu, 19 Nov 2015 23:31:57 GMT
我什至重新启动了 Pushy Client Service Windows 服务,只是为了验证它没有在服务重新启动时重新加载该配置。
我能够让 Windows 服务器运行我希望它运行的作业的唯一方法是在每次运行标准 chef-client “命令”之前修改运行列表:
knife node run_list set server.fqdn 'recipe[cookbook::recipe1]'
knife job start --timeout 600 'chef-client' node.fqdn
knife node run_list set server.fqdn 'recipe[cookbook::recipe2]'
knife job start --timeout 600 'chef-client' node.fqdn
该错误似乎在 Pushy Client Service windows 服务本身中,您提交的错误似乎没有任何动静。