【发布时间】:2013-08-22 01:20:00
【问题描述】:
我们有两个不同的环境,开发和生产,由单个 Salt 服务器管理。 像这样的:
base:
'dev-*':
- users-dev
'prod-*':
- users-prod
user-dev 和 users-prod 状态几乎相同,如下所示:
{% for user, data in pillar['users-dev'].items() %}
{{ user }}-user:
user.present:
< ...something... >
{{ user }}_ssh_auth:
ssh_auth.present:
< ...something... >
{% endfor %}
我们不想复制代码,所以我们最初的想法是做这样的事情:
{% users = pillar['users'].items() %}
include:
- users-common
然后在 users-common 中引用 users,但这不起作用,因为正确的 Jinja 语法是 set users = pillar['users'].items(),而这不适用于跨 Salt 状态包括。
那么,问题是如何正确地做到这一点?
【问题讨论】:
标签: configuration-management salt-stack