我想添加命令将作业白名单推送到多个节点而不逐个编辑,有办法做到这一点吗?
我已经尝试过这个:
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!
有什么建议吗?
提前致谢
答案 0 :(得分:0)
将推入作业列入白名单存在一些错误。我执行了每个步骤,例如在食谱中添加白名单和更新https://docs.chef.io/install_push_jobs.html中提到的节点属性。仍然没有运气。当前运行的唯一命令是推送作业中的Chef-client。否则,您可以按照以下步骤执行此堆栈链接Add custom Chef push job to Windows whitelist
中提到的任务