如何在 saltstack 中使用变量作为匹配 mine.get

How to use variable as a match in saltstack mine.get

我正在尝试使用盐矿来获取所有 minions 的网络接口列表,这些 minions 与呈现 jinja 模板的 minion 具有相同的os。

我正在尝试这样的事情:

{% set variable = grains['os'] %}     
{% set dict = salt['mine.get'('os:variable','network.interfaces','grain') %}
{% for i in dict : %}
    // do stuff here

但问题在于上面的盐会尝试将 os 与值 "variable" 匹配,而不是变量的实际值。

使用 'os: {{ variable }}' 也不起作用,因为 {{ x }} 只是打印变量 x 的值。

在这种情况下,如何匹配实际的 os?

您应该尝试 + 连接前缀和变量名:

{% set variable = grains['os'] %}     
{% set dict = salt['mine.get']('os:' + variable,'network.interfaces','grain') %}
{% for i in dict : %}
  # do stuff
{% endfor %}