Цитирование названия документации модуля wait_for
wait_for - ожидание условия перед продолжением
If I "перефразируя «условие, которое вы написали, это даст что-то вроде:« дождитесь, пока хост X станет разрешаемым местом назначения, и порт 22 будет открыт для этого места назначения, повторите попытку без задержки и тайм-аут после 3 с ».
Обычно это тест, который вы запускаете, потому что вы запустили новый vm и зарегистрировали его в dns.Таким образом, вы ждете, пока dns распространится И порт ssh будет доступен.
В вашем случае вы получаете тайм-аут, потому что ваше имя хоста никогда не становится разрешаемым адресом.
Если вы специально хотите проверитьнет маршрута к хосту, и вы не хотите ждать, пока маршрут в конечном итоге станет доступным, вам нужно сделать это другим способом.Вот простой пример книги с модулем ping
:
---
- name: Very basic connection test
hosts: localhost
gather_facts: false
tasks:
- name: Test if host is reachable (will report no route if so)
ping:
delegate_to: nonexistent.host.local
Что приводит к:
PLAY [Very basic connection test] *****************************************************
TASK [Test if host is reachable (will report no route if so)] *************************
fatal: [localhost]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname nonexistent.host.local: Name or service not known", "unreachable": true}
PLAY RECAP ****************************************************************************
localhost : ok=0 changed=0 unreachable=1 failed=0 skipped=0 rescued=0 ignored=0
Обратите внимание, что ping
модуль :
- Сообщит, что нет маршрута к хосту, если это так
- Неявно попытается подключиться к порту 22 * 1031 *
- Убедитесь, что на хосте установлен Python иготов к управлению через ansible.
Если хост, который вы пытаетесь проверить, не удовлетворяет всем вышеперечисленным условиям (например, вы хотите, чтобы тест прошел успешно, даже если python не установлен), вы будетенужен другой сценарий.Запуск ICMP ping
через модуль command
является одним из нескольких решений.