Chef使用JSON角色中的node_name变量

时间:2017-03-20 13:51:01

标签: json chef

有没有办法在角色中使用NODE_NAME值? 实际上,我正在编写一个设置节点主机名的基本角色,我希望将NODE_NAME用作" short_hostname"。

{
   "name": "Chef-RHEL",
   "description": "Chef-RHEL role",
   "json_class": "Chef::Role",
   "default_attributes": {
     "set_fqdn": "*.example.com",
     "system": {
       "timezone": "Europe/Paris",
       "short_hostname": "{NODE_NAME}",
       "domain_name": "example.com"
     }
   },
   "override_attributes": {
   },
   "chef_type": "role",
   "run_list": [
                "recipe[system::default]"
   ],
   "env_run_lists": {
   }
}

在/etc/chef/client.rb中正确配置了NODE_NAME。

非常感谢!!! :)

1 个答案:

答案 0 :(得分:1)

这是不可能的直接,角色只是静态JSON数据。您可以在配方代码中使用某种字符串替换,但这需要更改首先使用该属性的菜谱。