Hola, encontramos la solución a tu interrogante, has scroll y la hallarás un poco más abajo.
Nota
Este módulo es parte de ansible-base
e incluido en todas las instalaciones de Ansible. En la mayoría de los casos, puede utilizar el nombre corto del módulo wait_for incluso sin especificar el collections:
palabra clave. A pesar de eso, le recomendamos que utilice el FQCN para facilitar la vinculación a la documentación del módulo y evitar conflictos con otras colecciones que puedan tener el mismo nombre de módulo.
Nuevo en la versión 0.7: de ansible.builtin
- Sinopsis
- Parámetros
- Notas
- Ver también
- Ejemplos de
- Valores devueltos
Sinopsis
- Puedes esperar un tiempo determinado
timeout
, este es el valor predeterminado si no se especifica nada o simplementetimeout
está especificado. Esto no produce ningún error. - Esperar a que un puerto esté disponible es útil cuando los servicios no están disponibles inmediatamente después de que regresan sus scripts de inicio, que es true de determinados servidores de aplicaciones Java.
- También es útil cuando se inicia a los invitados con el community.libvirt.virt módulo y necesitan hacer una pausa hasta que estén listos.
- Este módulo también se puede utilizar para esperar a que una expresión regular coincida con una string estar presente en un archivo.
- En Ansible 1.6 y posteriores, este módulo también se puede utilizar para esperar a que un archivo esté disponible o ausente en el sistema de archivos.
- En Ansible 1.8 y versiones posteriores, este módulo también se puede usar para esperar a que se cierren las conexiones activas antes de continuar, lo que resulta útil si un nodo se está rotando fuera de un grupo de equilibradores de carga.
- Para los destinos de Windows, use el ansible.windows.win_wait_for módulo en su lugar.
Parámetros
Parámetro | Opciones / Valores predeterminados | Comentarios |
---|---|---|
active_connection_stateslista / elementos =string agregado en 2.3 de ansible.builtin | Defecto: [“ESTABLISHED”, “FIN_WAIT1”, “FIN_WAIT2”, “SYN_RECV”, “SYN_SENT”, “TIME_WAIT”] |
La lista de estados de conexión TCP que se cuentan como conexiones activas. |
connect_timeoutentero | Defecto: 5 |
Número máximo de segundos para esperar a que se produzca una conexión antes de cerrar y volver a intentarlo. |
demoraentero | Defecto: 0 |
Número de segundos de espera antes de comenzar a sondear. |
exclude_hostslista / elementos =string agregado en 1.8 de ansible.builtin | Lista de hosts o IP que se deben ignorar al buscar conexiones TCP activas para drained estado. |
|
anfitriónstring | Defecto: “127.0.0.1” |
Un nombre de host que se puede resolver o una dirección IP para esperar. |
msgstring agregado en 2.4 de ansible.builtin | Esto anula el mensaje de error normal de una falla para cumplir con las condiciones requeridas. | |
senderosendero agregado en 1.4 de ansible.builtin | Ruta a un archivo en el sistema de archivos que debe existir antes de continuar.path y port son parámetros mutuamente excluyentes. |
|
Puertoentero | Número de puerto para sondear.path y port son parámetros mutuamente excluyentes. |
|
search_regexstring agregado en 1.4 de ansible.builtin | Puede usarse para combinar un string en un archivo o en una conexión de socket. Por defecto es una expresión regular de varias líneas. | |
dormirentero agregado en 2.3 de ansible.builtin | Defecto: 1 |
Número de segundos para dormir entre comprobaciones. Antes de Ansible 2.3, esto estaba codificado en 1 segundo. |
estadostring |
|
Cualquiera present , started , o stopped , absent , o drained .Al comprobar un puerto started se asegurará de que el puerto esté abierto, stopped comprobará que está cerrado, drained comprobará si hay conexiones activas. string present o started se asegurará de que el archivo o string está presente antes de continuar, absent comprobará que el archivo está ausente o eliminado. |
se acabó el tiempoentero | Defecto: 300 |
Número máximo de segundos a esperar, cuando se usa con otra condición forzará un error. Cuando se usa sin otras condiciones es equivalente a simplemente dormir. |
Notas
Nota
- La capacidad de usar search_regex con una conexión de puerto se agregó en Ansible 1.7.
- Antes de Ansible 2.4, las pruebas de ausencia de directorio o socket UNIX no funcionaban correctamente.
- Antes de Ansible 2.4, la prueba de la presencia de un archivo no funcionaba correctamente si el usuario remoto no tenía acceso de lectura a ese archivo.
- En algunas circunstancias, cuando se usa el control de acceso obligatorio, una ruta siempre puede tratarse como ausente incluso si existe, pero el usuario remoto tampoco puede modificarla ni crearla.
- A la espera de una ruta, se seguirán enlaces simbólicos. Muchos otros módulos que manipulan archivos no siguen enlaces simbólicos, por lo que las operaciones en la ruta que utilizan otros módulos pueden no funcionar exactamente como se esperaba.
Ver también
Ver también
- ansible.builtin.wait_for_connection
-
La documentación oficial sobre el ansible.builtin.wait_for_connection módulo.
- ansible.windows.win_wait_for
-
La documentación oficial sobre el ansible.windows.win_wait_for módulo.
- community.windows.win_wait_for_process
-
La documentación oficial sobre el community.windows.win_wait_for_process módulo.
Ejemplos de
-name: Sleep for 300 seconds and continue with play wait_for:timeout:300delegate_to: localhost -name: Wait for port 8000 to become open on the host, don't start checking for 10 seconds wait_for:port:8000delay:10-name: Waits 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:8000delay:10state: drained -name: Wait for port 8000 of any IP to close active connections, ignoring connections for specified hosts wait_for:host: 0.0.0.0 port:8000state: 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 regex pattern matches in the file /tmp/foo and print the matched group wait_for:path: /tmp/foo search_regex: completed (?P>w+) register: waitfor -debug:msg: Completed waitfor['match_groupdict']['task']-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 # Do not 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:22host:' (ansible_ssh_host'search_regex: OpenSSH delay:10connection: 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:22host:'default(ansible_host))'search_regex: OpenSSH delay:10vars:ansible_connection: local
Valores devueltos
Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:
Llave | Devuelto | Descripción |
---|---|---|
transcurridoentero | siempre | La cantidad de segundos que pasaron mientras esperaba. Muestra:23 |
match_groupdictdiccionario | siempre | Diccionario que contiene todos los subgrupos nombrados de la coincidencia, codificados por el nombre del subgrupo, como lo devuelve https://docs.python.org/2/library/re.html#re.MatchObject.groupdict Muestra:‘grupo’: ‘coincidencia’ |
match_groupslista / elementos =string | siempre | Tupla que contiene todos los subgrupos de la coincidencia según lo devuelto por https://docs.python.org/2/library/re.html#re.MatchObject.groups Muestra:[‘match 1’, ‘match 2’] |
Autores
- Jeroen Hoekx (@jhoekx)
- John Jarvis (@jarv)
- Andrii Radyk (@AnderEnder)
Agradecemos que quieras añadir valor a nuestro contenido colaborando tu experiencia en las observaciones.