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

Salt: поднять ошибку, если file.replace не нашел ничего для замены

Может, я слепой, но я не мог найти способ позволить salt-ssh вызов не пройден, если file.replace не заменил ни одной строчки.

Если шаблон, который я предоставил, не совпадал, я хочу, чтобы меня заметили.

Пример:

enable_foo:
  file.replace:
    - name: /etc/foo/foo.config
    - pattern: DisallowBar
    - repl: AllowBarUntilMidnight

Saltstack - это инструмент управления конфигурацией, поэтому при использовании состояний вы определяете, что вы хотите, вы обычно не беспокоитесь о том, чтобы получать предупреждения, когда что-то сделано или нет.

Итак, в вашем примере я бы сказал: «вы хотите заменить шаблон X строкой Y», и все. Saltstack заменяет шаблон, если он существует, и ничего не делает, если нет.

Более того, в управлении конфигурацией обычно требуется, чтобы состояния были «идемпотентными». Это означает, что последовательные казни должны давать одинаковый результат. Выполняете ли вы свое состояние один раз или 1000 раз должны быть одинаковыми. Я не уверен, что то, что вы хотите сделать, действительно обеспечивается saltstack.

Обновить: конечно, вы можете делать то, что хотите, с солью, но вам, возможно, придется разделить на два состояния: одно для проверки текущего состояния и в конечном итоге сбой (проверьте failhard https://docs.saltstack.com/en/latest/ref/states/failhard.html) и еще один для замены