Требуются ли реквизиты или достаточно ли заказа?

Документы Salt полны такой схемы:

apache:
  pkg:
    - installed
  service:
    - running
    - require:
      - pkg: apache

Это повторение ("установите apache, теперь проверьте, был ли установлен apache"), похоже, является нарушением не-повторения-себя (DRY). Так нужно ли это?

Из " Понимания государственного заказа":

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

Кажется, это подразумевает, что использование реквизитов везде необязательно (при условии, что порядок декларирования правильный), но я хотел бы знать наверняка.

2 ответа

Решение

Это остаток до 0,15 дней, когда состояния не выполнялись сверху вниз.

Заказ сейчас достаточно.

Состояния теперь выполняются в том порядке, в котором они объявлены в ваших файлах sls. Вы по-прежнему хотите использовать "require", если хотите обеспечить успешное выполнение определенного состояния перед другим.

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

apache:
  pkg:
    - installed
  file:
    - managed
    - name: /etc/apache/httpd.conf
    - source: salt://apache/httpd.conf
    - require:
      - pkg: apache

Без "require" в вышеприведенном примере файл конфигурации был бы установлен, даже если apache pkg не удалось установить.

Другие вопросы по тегам