Мы используем ansible для настройки некоторых хостов, включая настройку IP. Мы не хотим использовать DHCP-сервер. Иногда мы добавляем новые хосты в сеть. Эти новые хосты находятся в одном диапазоне IP-адресов, а существующие рабочие хосты находятся в другом. Мы просто помещаем новые хосты в первую сеть, а затем позволяем ansible настраивать их, тестировать их и менять IP на производственный диапазон. Ansible регулярно запускается через cron.
Однако, когда нет новых хостов, ansible сообщит о недостижимой ошибке. Нет новых хозяев, это обычная ситуация. Как я могу подавить это или сделать его менее заметным?
В основном наш playbook выглядит так:
---
# configure existing hosts
- hosts: production
tasks:
- name: do regular maintenance
# ...
- hosts: new
# Does not seem to do anything
ignore_errors: True
tasks:
- name: configure freshly discovered host
# ...
- name: test freshly discovered host
# ...
- name: change ip config to production network
# ...
Файл /etc /ansible /hosts выглядит следующим образом:
[production]
192.168.2.[11:255]
[new]
# those are firewalled
192.168.2.[1:10]
Когда я запускаю это, я вижу большой красный
PLAY RECAP ****************************************************
192.168.2.1 : ok=0 changed=0 unreachable=1 failed=0
[...]
в конце, что сбивает с толку моих коллег.
Я видел этот вопрос, и я подумал, что если я использую ignore_errors, но не устанавливаю флаг, он должен молча пропустить недоступные хосты, но, похоже, это не имеет никакого эффекта.