Порядок выполнения команд при использовании file.append и file.managed с солеными состояниями
Я управляю main.cf
Конфигурационный файл в моем постфиксе sls. Если тот же миньон также назначил состояние amavis, строка content_filter = smtp-amavis:[127.0.0.1]:10024
должны быть добавлены к управляемым main.cf
файл.
Мой постфиксный слз выглядит так:
/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