Назад | Перейти на главную страницу

Порядок выполнения команд при использовании file.append и file.managed с солевыми состояниями

Я управляю main.cf config в моем postfix sls. Если этому миньону также присвоено состояние amavis, строка content_filter = smtp-amavis:[127.0.0.1]:10024следует добавить к управляемому main.cf файл.

Мой postfix 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

Как правильно добавить содержимое в управляемый файл? Или есть другой способ решить мою проблему?

Вы хотите 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