如何在 shell 脚本中修改节点的属性?
How can I modify a node's attributes in a shell script?
我一直在使用 knife node edit [node_name] 编辑节点,但是,我想节省一些时间并编写一个脚本,自动将属性集添加到许多节点清单。
我想通过某种方式将以下内容添加到 "normal": bash 脚本中的 {} 部分。
"borg": {
"client": {
"backup_server_override": "10.140.4.141"
}
},
是否有命令或方法可以在不使用 knife node edit 和避免交互式编辑器的情况下执行此操作?
查看 knife exec
和 nodes.transform
,可能会满足您的要求:
knife exec -E 'nodes.transform ("*:*") {|n| n.normal["whatever"] = "something" }'
警告:"*:*"
将抓取所有节点并对它们应用变换函数。小心
我一直在使用 knife node edit [node_name] 编辑节点,但是,我想节省一些时间并编写一个脚本,自动将属性集添加到许多节点清单。
我想通过某种方式将以下内容添加到 "normal": bash 脚本中的 {} 部分。
"borg": {
"client": {
"backup_server_override": "10.140.4.141"
}
},
是否有命令或方法可以在不使用 knife node edit 和避免交互式编辑器的情况下执行此操作?
查看 knife exec
和 nodes.transform
,可能会满足您的要求:
knife exec -E 'nodes.transform ("*:*") {|n| n.normal["whatever"] = "something" }'
警告:"*:*"
将抓取所有节点并对它们应用变换函数。小心