使用 file.append 和 file.managed 与 salt 状态时的命令执行顺序

使用 file.append 和 file.managed 与 salt 状态时的命令执行顺序

我正在我的 postfix sls 中管理main.cf配置文件。如果同一个 minion 也分配了 amavis 状态,则该行content_filter = smtp-amavis:[127.0.0.1]:10024应附加到管理main.cf文件中。

我的后缀 sls看起来像这样:

/etc/postfix/main.cf:
  file.managed:
    - template: jinja
    - source: salt://postfix/files/etc/postfix/main.cf

在我的amavis sls,我尝试将上述行附加到:

/etc/postfix/main.cf-amavis:
  file.append:
    - name: /etc/postfix/main.cf
    - text: "content_filter = smtp-amavis:[127.0.0.1]:10024"
    - require_in:
      - file: /etc/postfix/main.cf

但是,执行append之前发生的,manage而不是反过来的。

Name: /etc/postfix/main.cf - Function: file.append - Result: Changed
Name: /etc/postfix/main.cf - Function: file.managed - Result: Changed

将内容附加到托管文件的正确方法是什么? 或者还有其他方法可以解决我的问题?

答案1

require不想require_in

/etc/postfix/main.cf-amavis:
  file.append:
    - name: /etc/postfix/main.cf
    - text: "content_filter = smtp-amavis:[127.0.0.1]:10024"
    - require:
      - file: /etc/postfix/main.cf

相关内容