【问题标题】:Add custom Chef push job to Windows whitelist将自定义 Chef 推送作业添加到 Windows 白名单
【发布时间】:2016-02-05 08:16:47
【问题描述】:

我正在尝试为 pushy-client 将推送作业添加到 Windows 白名单中。当我用刀进行搜索时,它会在 Windows 节点的白名单中显示自定义作业。当我尝试运行它时,该作业立即失败,并且在 Windows 端它说该命令不在白名单中。

我在 GitHub 中发现了这个问题:Windows push service can't load whitelist

我想知道是否有人有解决方法,关于如何修复它的建议,或者知道我可以猴子补丁的代码中的哪个位置。

【问题讨论】:

    标签: windows chef-infra


    【解决方案1】:

    在完全测试您的场景后确认我遇到了同样的问题,我在 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 服务本身中,您提交的错误似乎没有任何动静。

    【讨论】:

    • 谢谢!我很高兴知道这不仅仅是我。
    • 您曾经对解决方案有所了解,请在此处发表评论,因为我自己真的很想要一个解决方案... :)
    • 最近有没有人尝试过这个?我重复了错误中概述的步骤,这似乎现在可以工作了——我可以使用推送作业说明书和节点属性将新命令添加到白名单中。这表明现在应该回答上述问题?
    • 抱歉,还没有回到服务器配置的这个区域。我希望“尽快”恢复并更新我的食谱,这样我就可以再试一次了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多