在 salt(-ssh) 中重用支柱值
re-use pillar values in salt(-ssh)
我目前正在熟悉盐,想知道如何在 .sls
文件的其他地方(部分)重新使用支柱的值。
在 buildout
中,我可以使用 ${sectionname:varname}
引用另一个部分的变量以重新使用曾经定义的值。这在处理目录(basedir、appdir)时特别方便。 buildout
示例:
['foo']
path = /highway/to/hell
['bar']
path = ${foo:path}/lastexit
当我尝试在 .sls
文件中引用另一个变量时,即使它在同一个文件中,我总是得到 None
。 salt
示例:
foo:
path: /highway/to/hell
bar:
path: {{ salt['pillar.get']('foo:path') }}/lastexit
salt-ssh minion1 pillar.get bar:path
结果为 None/lastexit
我觉得我在这里遗漏了一些东西。有人可以指出,如何在 salt .sls
中重用值
您可以使用 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
我目前正在熟悉盐,想知道如何在 .sls
文件的其他地方(部分)重新使用支柱的值。
在 buildout
中,我可以使用 ${sectionname:varname}
引用另一个部分的变量以重新使用曾经定义的值。这在处理目录(basedir、appdir)时特别方便。 buildout
示例:
['foo']
path = /highway/to/hell
['bar']
path = ${foo:path}/lastexit
当我尝试在 .sls
文件中引用另一个变量时,即使它在同一个文件中,我总是得到 None
。 salt
示例:
foo:
path: /highway/to/hell
bar:
path: {{ salt['pillar.get']('foo:path') }}/lastexit
salt-ssh minion1 pillar.get bar:path
结果为 None/lastexit
我觉得我在这里遗漏了一些东西。有人可以指出,如何在 salt .sls
您可以使用 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