1

有什么方法可以将属性传递到食谱的厨师应用运行中?

我的食谱的第一行是:

if node[:my_attr][:enabled]

这导致:

NoMethodError: undefined method '[]' for nil:NilClass

当我跑步时

chef-apply recipes/default.rb

将适当的属性添加到 中attributes/default.rb并不能解决此问题,为 . 添加初始化也不能解决此问题node[:my_attr] = {}

如何将节点属性传递给厨师应用运行?

4

2 回答 2

0

亚伯拉罕 P 说得对。chef-apply很像一个shell脚本解释器。你甚至可以散列你的文件。

#!/usr/bin/env chef-apply

# define attributes here

# create chef resources and other valid chef/ruby code
于 2015-02-04T12:29:26.490 回答
0

在 attributes/default.rb 声明

default['my_attr']['enabled']= "value"

然后你就可以在你的食谱中访问它们

您还可以使用 chef-client -j 选项传递属性的值。

于 2013-08-27T06:42:08.697 回答