Я использую ansible (v2.9.9 в Ubuntu Linux 18.04) для управления множеством разных серверов, выполняющих много разных задач, и я хочу уменьшить объем вывода, который печатается при запуске. У меня много пьес и пьес (более 40 пьес)
у меня есть stdout_callback = actionable
в ansible.cfg
(в [defaults]
раздел), поэтому задачи, которые не меняются, не выводятся на консоль при запуске ansible-playbook
. тем не мение ansible все еще печатает PLAY [$GROUP]
строка (и новая строка) при запуске игры, и если хост не найден, он напечатает skipping: no hosts matched
. например.:
PLAY [all] *************************
PLAY [all] *************************
PLAY [webservers] ******************
PLAY [apache_webservers] ***********
PLAY [https_webservers] ************
skipping: no hosts matched
PLAY [databases] *******************
Могу я выключить это? Могу ли я сделать ансибль действительно тихим? Если задача в пьесе - изменение (и, следовательно, ее нужно распечатать), то распечатайте PLAY [$GROUP] ***
строка, но в противном случае я не хочу, чтобы этот заголовок печатался? В идеале я хочу, чтобы это было похоже на традиционные инструменты командной строки unix. Если ничего не изменится, ничего не печатайте.
Если параметры плагина не соответствуют вашим потребностям, выберите другой плагин или напишите свой собственный.
Требование только измененных задач не может быть выполнено обратными вызовами, выпущенными с Ansible. unixy и плотный являются менее подробными вариантами, но распечатайте начало воспроизведения и сводку воспроизведения.
На другом полюсе ноль, но это ничего не печатает.
Также: actionable эффективно по умолчанию с display_skipped_hosts = no
и display_ok_hosts = no
. actionable в конечном итоге будет удален.