【发布时间】:2018-12-06 06:46:06
【问题描述】:
在我的环境文件中,我定义了一个属性说
['app']['web'] = 'nginx'
在另一个环境文件中
['app']['web'] = 'apache'
我的目的是创建一个可以在任何环境中运行的配方。在配方中,我定义了一个属性。因此,在第一个环境中运行此配方时,我想定义 node.default['cluster']['nginx']['endpoint'] 而在第二个环境中它应该是 node.default['集群']['apache']['endpoint']
我用了以下
node.default['cluster'][node['app']['web']]['endpoint']
但这不起作用。有什么办法可以实现吗?
【问题讨论】:
-
上面的代码可以工作。实际上我在 node.default['cluster'][node['app']['web']]['endpoint'] 中犯了一个拼写错误,这就是 chef-client 失败的原因。
标签: chef-infra chef-recipe chef-attributes