Salt状态,检查salt master上的文件是否存在

时间:2018-04-16 11:11:04

标签: salt-stack

我尝试创建以下状态,但我不知道如何编写if子句?也许有人可以帮助我。我试图完成的是,如果存在具有目标主机名的文件,salt将获取配置文件,否则采用默认配置。

示例:

{% if ??? test -f ??? salt://ntpd/ntp.conf_{{ salt['grains.get']('host') }} %}
ntpd-config:
  file.managed:
    - name: /etc/ntp.conf
    - source: salt://ntpd/ntp.conf_{{ salt['grains.get']('host') }}
    - user: root
    - group: root
    - file_mode: 644
    - require:
      - ntpd-pkgs
{% else %}
ntpd-config:
  file.managed:
    - name: /etc/ntp.conf
    - source: salt://ntpd/ntp.conf
    - user: root
    - group: root
    - file_mode: 644
    - require:
      - ntpd-pkgs
{% endif %}
希望,有人可以帮助我。

提前致谢!

的Matthias

1 个答案:

答案 0 :(得分:0)

我自己就找到了答案。

在文档中找到我可以定义多个来源。如果没有其他人存在,那么最后一个是默认值。

这现在有效:

ntpd-config:
  file.managed:
    - name: /etc/ntp.conf
    - source:
        - salt://ntpd/ntp.conf_{{ salt['grains.get']('host') }}
        - salt://ntpd/ntp.conf