Как запустить анабимые детски, только если проблем нет проблем в PlayBook?

Есть еще одна опция, которая позволяет больше контролировать обработку ARP. Взгляните на arp_ignore .

0
22.12.2018, 12:06
1 ответ

В моем тестировании ansible-playbook --syntax-checkправильно установил код выхода на основании синтаксических ошибок в playbook. Вы можете поверить мне на слово, что хороший -пример и плохой -пример плейбуков ведут себя так, как указано.

Хороший файл:

$ ansible-playbook --syntax-check good-example.yaml
 [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match
'all'


playbook: good-example.yaml
$ echo $?
0

... и битый файл:

$ ansible-playbook --syntax-check bad-example.yaml
 [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match
'all'

ERROR! 'xhosts' is not a valid attribute for a Play

The error appears to have been in '/.../bad-example.yaml': line 2, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

---
- xhosts: all
  ^ here

$ echo $?
4

Итак, я считаю, что вы могли бы выполнить проверку синтаксиса -так, как вы предлагаете:

ansible-playbook --syntax-check example.yml && ansible-playbook example.yml

... хотя может быть спокойнее отказаться от вывода из части проверки синтаксиса:

ansible-playbook --syntax-check example.yml >/dev/null 2>&1 && ansible-playbook example.yml

Примечание:Вы можете обернуть все это в функцию, чтобы не печатать:

safe-ansible() {
  ansible-playbook --syntax-check "$@" > /dev/null 2>&1 &&
  ansible-playbook "$@"
}
1
28.01.2020, 02:41

Теги

Похожие вопросы