我将default.rb中的属性设置为
default[:my_app] = {
:vol => "data02",
:commitlog => "/foo/bar/node[:vol]/commitlog",
}
但是:vol
值没有在commitlog属性中被解析,而且我得到了以下错误。
mError executing action `create` on resource 'directory[/foo/bar/node[:vol]/comitlog]'[0m
答案 0 :(得分:2)
您错过了字符串插值语法,例如y = "The value of X is #{X}."
你可能想要:
default[:my_app] = {
:vol => "data02",
:commitlog => "/foo/bar/#{node[:vol]}/commitlog",
}
另外,请注意,如果您创建一个属性取决于另一个属性的值,则可以稍后覆盖node[:my_app][:vol]
并期望node[:my_app][:commitlog]
的值随之更改,但可能不会。在您的覆盖影响第一个属性之前,可能会一起解析属性。
答案 1 :(得分:0)
即使在我使用插值语法之后,当我在配方中使用节点[:my_app] [:commitlog]时,它显示/ foo / bar // commitlog