在环境文件

时间:2016-01-19 13:44:41

标签: chef chef-recipe chef-solo

我试图在某处定义一个变量(可能在环境文件下)并在我的配方中使用/调用它以便我可以获取它的值,如果我更改环境文件(已定义具有不同值的相同变量) )然后我可以使用具有不同变量值的相同配方(在环境下定义)

有些人可以帮助我理解如何在环境下定义变量/属性,然后如何在配方文件中调用它

我试图在环境文件下定义属性,如下所示

"DB_IP":"xx.xx.xx.XX","BOX_NAME":"AIX2Wd4109",

并试图按照下面的方法打电话

BOX_NAME = json['defaults']['BOX_NAME']
DB_IP = json['defaults']['DB_IP']

但是在运行knife命令时,值没有提升,得到如下错误

Chef Client failed. 0 resources updated in 5.975572324 seconds←[0m
[2016-01-19T13:15:57+00:00] ERROR: uninitialized constant Chef::Recipe::BOX_NAME

1 个答案:

答案 0 :(得分:0)

回应上述评论,这才是真正的答案:

访问这些节点属性的方法是node['DB_IP']node['BOX_NAME']

我同意你应该继续学习学习厨师教程,它涵盖了与Chef合作的基础知识。