Spec-Zone.ru › Ansible 2.4

wait_for - Ожидание условия перед продолжением

  • Описание
  • Параметры
  • Примеры
  • Примечания
    • Статус
    • Информация о техническом обслуживании

Описание

  • Вы можете ожидать определенное количество времени timeout, это значение по умолчанию, если ничего не указано или указано только timeout. Это не приводит к ошибке.
  • Ожидание доступности порта полезно в ситуациях, когда службы не становятся доступны сразу после возврата их скриптов инициализации, что характерно для некоторых серверов приложений Java. Это также полезно при запуске гостей с модулем virt и необходимости приостановки до их готовности.
  • Этот модуль также может использоваться для ожидания совпадения регулярного выражения со строкой в файле.
  • В версии 1.6 и более поздних версиях этот модуль также может использоваться для ожидания наличия или отсутствия файла в файловой системе.
  • В версии 1.8 и более поздних версиях этот модуль также может использоваться для ожидания закрытия активных подключений перед продолжением, что полезно, если узел выводится из пула балансировщика нагрузки.
  • Этот модуль также поддерживается для целевых платформ Windows.

Параметры

параметр обязателен по умолчанию значения комментарии
active_connection_states
(добавлен в 2.3)
нет [u'ESTABLISHED', u'FIN_WAIT1', u'FIN_WAIT2', u'SYN_RECV', u'SYN_SENT', u'TIME_WAIT']
Список состояний подключений TCP, которые считаются активными подключениями.
connect_timeout
нет 5
Максимальное количество секунд ожидания подключения перед закрытием и повторной попыткой.
delay
нет
Количество секунд ожидания перед началом опроса.
exclude_hosts
(добавлен в 1.8)
нет
Список хостов или IP-адресов, которые следует игнорировать при поиске активных TCP-подключений для состояния drained.
host
нет 127.0.0.1
Разрешаемый хост или IP-адрес для ожидания.
msg
(добавлен в 2.4)
нет
Это переопределяет стандартное сообщение об ошибке при невозможности выполнения необходимых условий.
path
(добавлен в 1.4)
нет
Путь к файлу в файловой системе, который должен существовать перед продолжением.
port
нет
Номер порта для опроса.
search_regex
(добавлен в 1.4)
нет
Может использоваться для сопоставления строки в файле или подключении сокета.
По умолчанию используется многострочное регулярное выражение.
sleep
(добавлен в 2.3)
нет 1
Количество секунд, которые нужно спать между проверками. До версии 2.3 это значение было жестко закодировано в 1 секунду.
state
нет started
  • absent
  • drained
  • present
  • started
  • stopped
Либо present, started, или stopped, absent, или drained.
При проверке порта started гарантирует, что порт открыт, stopped проверяет, что он закрыт, drained проверяет наличие активных подключений.
При проверке файла или строки поиска present или started гарантирует, что файл или строка присутствуют перед продолжением, absent проверяет отсутствие или удаление файла.
timeout
нет 300
Максимальное количество секунд ожидания. При использовании с другими условиями приведёт к ошибке.
Без других условий эквивалентно простому ожиданию.

Примеры

- name: sleep for 300 seconds and continue with play
  wait_for: timeout=300
  delegate_to: localhost

- name: Wait 300 seconds for port 8000 to become open on the host, don't start checking for 10 seconds
  wait_for:
    port: 8000
    delay: 10

- name: Wait 300 seconds for port 8000 of any IP to close active connections, don't start checking for 10 seconds
  wait_for:
    host: 0.0.0.0
    port: 8000
    delay: 10
    state: drained

- name: Wait 300 seconds for port 8000 of any IP to close active connections, ignoring connections for specified hosts
  wait_for:
    host: 0.0.0.0
    port: 8000
    state: drained
    exclude_hosts: 10.2.1.2,10.2.1.3

- name: Wait until the file /tmp/foo is present before continuing
  wait_for:
    path: /tmp/foo

- name: Wait until the string "completed" is in the file /tmp/foo before continuing
  wait_for:
    path: /tmp/foo
    search_regex: completed

- name: Wait until the lock file is removed
  wait_for:
    path: /var/lock/file.lock
    state: absent

- name: Wait until the process is finished and pid was destroyed
  wait_for:
    path: /proc/3466/status
    state: absent

- name: Output customized message when failed
  wait_for:
    path: /tmp/foo
    state: present
    msg: Timeout to find file /tmp/foo

# Don't assume the inventory_hostname is resolvable and delay 10 seconds at start
- name: Wait 300 seconds for port 22 to become open and contain "OpenSSH"
  wait_for:
    port: 22
    host: '{{ (ansible_ssh_host|default(ansible_host))|default(inventory_hostname) }}'
    search_regex: OpenSSH
    delay: 10
  connection: local

# Same as above but you normally have ansible_connection set in inventory, which overrides 'connection'
- name: Wait 300 seconds for port 22 to become open and contain "OpenSSH"
  wait_for:
    port: 22
    host: '{{ (ansible_ssh_host|default(ansible_host))|default(inventory_hostname) }}'
    search_regex: OpenSSH
    delay: 10
  vars:
    ansible_connection: local

Примечания

Примечание

  • Возможность использования search_regex с подключением к порту была добавлена в версии 1.7.
  • Этот модуль также поддерживается для целевых платформ Windows.
  • См. также wait_for_connection

Статус

Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будет вноситься обратной совместимости с интерфейсом.

Информация о техническом обслуживании

Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>

Для получения помощи в разработке модулей, если у вас есть такое желание, ознакомьтесь с Справочной информацией по сообществу и участием в разработке, Тестирование Ansible и Разработка модулей.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/wait_for_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API