厨师模板中的节点名称?

eri*_*kcw 22 chef-infra chef-recipe

我一直试图弄清楚如何将节点的名称(knife bootstrap -N)放入模板中.我已经尝试了十几个不同的想法,但还没有发现任何有用的东西.有谁知道如何从厨师食谱访问这个?

另外 - 有没有办法列出Chef配方可用的所有变量?

jar*_*rad 34

Attributes wiki页面上显示了更简洁的方式:

node.name
Run Code Online (Sandbox Code Playgroud)

  • 我不知道一个非常主厨的方法,但node.name.split('.')[0]工作正常 (2认同)
  • 获取chef属性时,应始终使用node [:attribute]语法.ohai dervied属性位于节点[:hostname] (2认同)
  • @jarrad请注意,您的链接现已破坏,因为厨师文档已移动.你能将它更新到正确的(我认为https://docs.chef.io/ohai.html)? (2认同)

小智 30

你可以Chef::Config[:node_name]在你的食谱中使用.我在Opscode的厨师 - 客户食谱中找到了这个.

  • 我同意@anaudmeuret,这个解决方案在Shef和配方中为我工作,但接受的答案没有. (2认同)

Dan*_*kov 5

查看所有节点特定的属性类型命令

knife node edit <name> -a
Run Code Online (Sandbox Code Playgroud)

可通过“节点”访问的第一级键。字首。

{
  "name": "n1",
  ...
  "hostname": "chef-n1",
  "fqdn": "chef-n1.dan.lan",
  "domain": "dan.lan",
  "ipaddress": "192.168.4.4",
  "macaddress": "52:54:00:72:E7:C5",
Run Code Online (Sandbox Code Playgroud)