Chef infra 厨师模板中的节点名称?

Chef infra 厨师模板中的节点名称?,chef-infra,chef-recipe,Chef Infra,Chef Recipe,我一直在试图找出如何将节点的名称(knife bootstrap-N)放入模板中。我尝试了十几种不同的想法,但还没有找到任何有效的方法。有人知道如何从厨师食谱中获取这个吗 还有--有没有一种方法可以列出厨师菜谱中可用的所有变量?您可以在菜谱中使用Chef::Config[:node\u name]。我在Opscode的厨师客户食谱中找到了这一点。维基页面上显示了更简洁的方式: node.name 要查看所有特定于节点的属性,请键入命令 knife node edit <name>

我一直在试图找出如何将节点的名称(
knife bootstrap-N
)放入模板中。我尝试了十几种不同的想法,但还没有找到任何有效的方法。有人知道如何从厨师食谱中获取这个吗


还有--有没有一种方法可以列出厨师菜谱中可用的所有变量?

您可以在菜谱中使用
Chef::Config[:node\u name]
。我在Opscode的厨师客户食谱中找到了这一点。

维基页面上显示了更简洁的方式:

node.name

要查看所有特定于节点的属性,请键入命令

knife node edit <name> -a

我同意@anaudmeuret,这个解决方案在Shef和菜谱中对我有效,而接受的答案没有。最初的问题是如何在模板中访问节点名。这个答案不适用于那个。实际上,是.erb文件的完整语法,是如何访问模板中的节点名。似乎模板语法和配方语法不同。我有一个使用该语法的模板,并且在Recipe中使用了上面的Chef::Config[:node_name]语法,这给出了FQDN。有没有办法获取短名称?我不知道一种非常简单的方法,但是node.name.split('..')[0]可以工作。获取chef属性时,您应该始终使用node[:attribute]语法。ohai dervied属性位于节点[:hostname]@jarrad请注意,您的链接现在已断开,因为chef文档已移动。你能更新到正确的答案吗(我想)?@Blaskovicz我已经更新了答案。谢谢你的提醒!
{
  "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",