在 Salt 中打开 Jinja2 扩展

Turning on Jinja2 extensions in Salt

我正在编写很多 Salt 状态,我想使用 do tag extension as suggested in this Whosebug answer

根据 Salt docs,我应该可以编辑 /etc/salt/master 以添加这些行:

jinja_env:
  extensions: ['jinja2.ext.do']

jinja_sls_env:
  extensions: ['jinja2.ext.do']

然后重启salt-master服务就可以访问do标签了。然而,我试过了,我得到了和以前一样的错误,所以它没有识别标签。

我已通过在命令行中进行测试确认该扩展在服务器上可用:

>>> import jinja2
>>> jinja2.Environment(extensions=['jinja2.ext.do']).parse(open('/path/to/mytemplate.jinja').read())
Template(body=[...])

我错过了什么?我如何配置 Salt 以使用 {% do %} Jinja 标签?

通过查看 Salt source code,它似乎会自动应用这些扩展(如果可用)。我收到的有关模板无法呈现的错误似乎来自不相关的语法错误。

所以一直以来真正的答案是您无需执行任何操作即可使用 {% do %} 模板标签。