在Saltstack中,我有以下用例:
有一个状态redis.sls可以包含在其他州.redis.sls的结果应该以不同的方式配置,具体取决于包含redis.sls的状态.
例如:
redis.sls:
--------
{% if x==1 %}
#do something
{% else %}
#do something else
{% endif %}
state_a.sls
-----------
{% set x=1 %}
include:
- redis
state_b.sls
-----------
{% set x=2 %}
include:
- redis
Run Code Online (Sandbox Code Playgroud)
但*在*state_a*和*state_b*中无法识别x
我也尝试用这样的东西设置支柱值:
{{salt['pillar.set']('x', 1)}}
Run Code Online (Sandbox Code Playgroud)
但那也不起作用.
还有其他想法吗?
小智 1
我想听听专家的说法,但我有类似的用例。我所做的是使用jinja 模板来扩展基本模板,然后我的子模板填充变量。
{% extends "base.template.sls" %}
{% block x %}1{% endblock %}
Run Code Online (Sandbox Code Playgroud)
唯一的问题可能是您现在必须分别调用 state_a 和 state_b,但如果您希望同时调用它们,则始终可以将它们放在逗号分隔的列表中。
| 归档时间: |
|
| 查看次数: |
3444 次 |
| 最近记录: |