我想添加命令将作业白名单推送到多个节点而无需逐个编辑,有一种方法可以做到这一点吗?
我已经尝试过了:
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"
}
}
}
但是当在运行刀具作业后启动“dns”zookeeper03后,该节点中的日志结束时,日志显示:
ERROR: [zookeeper03] Received commit c1fa30942d664c6df7213c71d79a74f3, but command 'dns' is not in the whitelist!
有什么建议吗?
提前致谢
推送作业被列入白名单有一些错误。我执行了所有步骤,例如在cookbook中添加白名单和更新https://docs.chef.io/install_push_jobs.html上提到的节点属性。仍然没有运气。只有命令它当前运行的是来自推送作业的chef-client。否则,您可以使用以下步骤执行此堆栈链接Add custom Chef push job to Windows whitelist中提到的任务