Chef模板不会正确评估chef_environment和name

时间:2017-09-11 21:20:11

标签: ruby templates chef

knife node show -l my-node -F json

返回:

{
   "name": "my-node",
   "chef_environment": "test"
   ..
}

我们已经创建了一个模板,info.txt.erb:

node = <%= node %>
name = <%= node['name'] %>
chef_environment = <%= node['chef_environment'] %>

我们的食谱:

template "#{app_dir}/info.txt" do
  source 'info.txt.erb'
  ...
end

厨师运行后,节点有一个info.txt文件:

node = my-node
name =
chef_environment =

为什么knife show <NODE>命令返回的内容与模板文件评估的内容不同?如何更改模板文件以获取正确的信息?

1 个答案:

答案 0 :(得分:4)

那应该是node.namenode.chef_environment。它们不属于属性,因此您无法使用属性访问语法来获取它们。