【发布时间】:2014-12-09 00:25:51
【问题描述】:
我有下一个部署方案:
- 两台服务器应该一起部署在同一台机器上
- 它们的共同属性 - 主机名、端口、默认用户名和密码
- 特定属性 - 例如上下文路径
所以,我创建了基本食谱并在那里指定了所有常用选项。之后,我创建了两个具有特定配方的依赖说明书来运行两个服务器并设置特定的属性值。这件事一直有效,直到我决定再买一本包装食谱 目的是启动两个服务器并做一些额外的事情。
我通过以下方式配置了最顶层的食谱:
metadata.rb:
depends "app1"
depends "app2"
recipe.rb:
include_recipe "app1::start"
include_recipe "app2::start"
问题是'include_recipe "app1::start"' 看到了被'app2' 食谱覆盖的属性。 因此,如果我将 metadata.rb 中的顺序更改为: 取决于“app2” 取决于“app1”
然后 'include_recipe "app2::start"' 会看到被 'app1' 食谱覆盖的属性。
我应该怎么做才能限制包含资源的属性范围?
【问题讨论】:
标签: chef-infra