【问题标题】:Add jobs to push job whitelist in chef添加工作以在厨师中推送工作白名单
【发布时间】:2019-04-01 19:46:06
【问题描述】:

我想添加命令将作业白名单推送到多个节点,而不需要一一编辑,有办法吗?

我已经试过了:

knife exec -E 'nodes.transform("name:A_NODE_NAME") do |n|
    n.set["push_jobs"]["whitelist"]["ntpdate"] = "ntpdate -u time"
  end'

正如here 所说,但它不起作用:

命令运行良好,

knife exec -E 'nodes.transform("name:zookeeper03") do |n|
    n.set["push_jobs"]["whitelist"]["dns"] = "chef-client -r system-configs::dns"
  end'

然后我使用knife node edit zookeeper03,编辑器显示给我

{
  "name": "zookeeper03",
  "chef_environment": "_default",
  "normal": {
    "tags": [

    ],
    "push_jobs": {
      "whitelist": {
        "dns": "chef-client -r system-configs::dns"
      }
    }
  }

但是在运行knife job start "dns" zookeeper03之后,在该节点中跟踪日志时,日志显示:

ERROR: [zookeeper03] Received commit c1fa30942d664c6df7213c71d79a74f3, but command 'dns' is not in the whitelist!

有什么建议吗?

提前致谢

【问题讨论】:

  • “不工作”是什么意思?节点属性设置了吗?
  • 我已经更新了原来的问题
  • 您的nodes.transform 语法看起来不错。编辑节点属性的一个问题是,如果在您进行编辑时在该机器上运行了一个守护进程模式,它可能会由于 API 竞争条件而被踩踏。尝试先停止该节点上的 chef 服务?
  • 我重启了节点,没有任何变化,错误信息是一样的。
  • 请重启客户端推送作业服务

标签: chef-infra push jobs whitelist


【解决方案1】:

推送作业被列入白名单存在一些错误。我执行了每个步骤,例如在食谱中添加白名单和更新https://docs.chef.io/install_push_jobs.html 中提到的节点属性。仍然没有运气。它当前运行的唯一命令是来自推送作业的 chef-client。否则,您可以使用以下步骤来执行此堆栈链接Add custom Chef push job to Windows whitelist

中提到的任务

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-09
    • 2015-02-25
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多