在 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 文件中引用另一个变量时,即使它在同一个文件中,我总是得到 Nonesalt 示例:

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