0

在我的环境文件中,我定义了一个属性说

['app']['web'] = 'nginx'

并在另一个环境文件中

['app']['web'] = 'apache'

我的目的是创建一个可以在任何环境中运行的配方。在配方中,我定义了一个属性。所以在第一个环境中运行这个配方时,我想定义 node.default['cluster'] ['nginx'] ['endpoint'] 并且在第二个环境中它应该是 node.default['cluster'] ['apache' ] ['端点']

我使用了以下

node.default['cluster'] [node['app']['web']] ['endpoint']

但这不起作用。有什么办法可以做到这一点?

4

2 回答 2

0

由于您没有指定属性类型,因此很难给您一个具体的答案。属性类型结合属性优先级将决定是否在 chef-client编译阶段node['app']['web']持有非 nil 值

于 2018-12-05T20:12:31.647 回答
0

有关解决方案,请参阅https://github.com/poise/poise-derived。更多字符,因为我必须这样做。

于 2018-12-05T22:46:06.470 回答