在盐中重新使用支柱值(-ssh)

时间:2017-05-20 08:43:57

标签: jinja2 salt

我目前熟悉盐,并想知道如何重新使用.sls文件中其他地方(部分)的支柱值。

buildout中,我可以使用${sectionname:varname}引用另一个部分中的变量来重新使用一次定义的值。在处理目录(basedir,appdir)时,这尤其方便。 buildout示例:

['foo']
  path = /highway/to/hell

['bar']
  path = ${foo:path}/lastexit

当我尝试在.sls文件中引用另一个变量时,即使它在同一个文件中,我总是Nonesalt示例:

foo:
  path: /highway/to/hell

bar:
  path: {{ salt['pillar.get']('foo:path') }}/lastexit

salt-ssh minion1 pillar.get bar:path会产生None/lastexit

我有种感觉,我在这里遗漏了一些东西。有人可以指出,如何重复使用盐.sls

中的值

1 个答案:

答案 0 :(得分:1)

您可以使用jinja分配值,例如:

{% set base_path = salt['pillar.get']('foo:path','/highway/to/hell') %}

foo:
  path: {{ base_path }}

bar:
  path: {{ base_path }}/lastexit

在这种情况下" / highway / to / hell"如果没有在支柱中分配值或没有找到支柱,则将其设置为默认值。有关详细信息,请参阅https://docs.saltstack.com/en/latest/topics/jinja/index.html