Ignorar error de Ansible

Ignorar Error De Ansible



Al configurar la tarea en otro dispositivo host, los errores de Ansible son comunes. Representan estados del sistema únicos y posiblemente significativos. A pesar de esto, puede haber algunos errores que queremos evitar para que las tareas también se ejecuten y muestren la salida si se ejecutan con éxito. En este artículo, hablaremos sobre los errores de Ansible y cómo ignorarlos. Demostramos específicamente una técnica para suprimir e ignorar las fallas con Ansible.

A diferencia de la corrección de errores, evitar fallas implica continuar con las tareas en la medida en que la actividad en el libro de jugadas de Ansible no se vea afectada. La herramienta ansible emite un mensaje de advertencia cuando no puede finalizar una tarea o libro de jugadas mientras se depura una tarea. Hay varias causas, pero depende de nosotros identificarlas y encontrar una solución. Desafortunadamente, no todos los errores se pueden corregir. Puede elegir comenzar a ignorar los errores si no quiere o si no puede resolver el problema.







La mayoría de los administradores que controlan en Ansible usan esta estrategia mientras se conectan con los hosts de destino en escenarios del mundo real. De forma predeterminada, Ansible cesa las actividades en un dispositivo de destino y continúa las actividades en otros servidores cada vez que devuelve un resultado distinto de cero de una declaración o un error de un paquete. Aunque, hay ciertas situaciones en las que es posible que desee actuar de manera diferente. Un resultado devuelto que no sea cero ocasionalmente denota progreso. A menudo, es posible que desee que el procesamiento se detenga en un servidor para que se detenga en todos los hosts.



Formas de ignorar los errores en Ansible

En Ansible, se utilizan diferentes formas de llevar a cabo las tareas del libro de jugadas si muestra la falla de la tarea. Las siguientes son las diferentes formas que ayudarán a ejecutar la tarea incluso si Ansible muestra errores:



1. Utilizando el comando Ignore_Errors=True





Aunque la tarea continúa fallando, el libro de jugadas continúa ejecutándose si especifica el comando ignore_errors=true al final de la actividad. A pesar de preocuparse por la finalización o las fallas de la tarea, aún lleva a cabo la actividad posterior. Si de alguna manera la actividad no tiene éxito, se pasa a la siguiente. Si la actividad tiene éxito, completa un proceso después de eso.

2. Utilizar el modo de verificación en Ansible



Utilice las variables especiales booleanas, el modo de verificación de Ansible, que se define como Verdadero una vez que Ansible está en el método de verificación para omitir una tarea o ignorar las fallas en una tarea siempre que se use la versión del método de verificación de Ansible.

3. Uso del comando Failed=When en Ansible Playbook

En Ansible, también podemos utilizar el condicional fail_when para especificar cualquier 'fallo' implícito para cada actividad. De forma similar a todas las sentencias condicionales de Ansible, las listas de numerosos criterios fail_when se combinan con un implícito. Por lo tanto, la tarea solo falla si se cumplen todas las condiciones.

Requisitos previos para ignorar los errores en Ansible

La herramienta de configuración de Ansible debe cumplir con los criterios necesarios para incluir el ejemplo concreto:

  • Se necesita un servidor principal de Ansible o podemos decir un servidor de control para que podamos configurar los comandos en el dispositivo de destino.
  • Necesitamos tener los hosts locales para que podamos contactar a cada uno de ellos para usar las diferentes formas de ignorar los errores en el software Ansible. Usamos el host local en esta instancia como un servidor remoto de destino durante la duración de la actividad.
  • Escribimos los libros de jugadas, ejecutamos los comandos de ignorar errores de Ansible y usamos el dispositivo controlador de ansible para rastrear los resultados en hosts distantes.

Para ayudar al alumno a comprender el principio de utilizar el error de ignorar en un libro de jugadas de Ansible, implementemos el siguiente ejemplo:

Ejemplo: utilizar el comando Ignore_Errors=True

Este es el ejemplo más simple que usa Ansible para la implementación donde incluimos varias tareas en el libro de jugadas y ejecutamos las tareas usando el comando ignorar error. Para ello, primero escribimos el siguiente código en la terminal de Ansible:

[ raíz @ maestro ansible ] # nano ignorar_errores.yml

 

Después de la creación y el lanzamiento del libro de jugadas ignore_errors.yml, ahora comenzamos a ingresar los comandos en el libro de jugadas. Primero, usamos la opción 'hosts', pasando los hosts proporcionados como 'localhost'. Ingresamos el valor 'falso' en el argumento 'recopilar datos' para que no podamos obtener información adicional sobre el host local cuando ejecutamos el libro de jugadas.

Después de eso, comenzamos a enumerar cada tarea que deseamos completar en la opción 'tareas'. En la primera tarea, mostramos el documento que no existe en el directorio de Ansible. Primero, pasamos el título de la tarea que queremos implementar. Luego, usamos la opción de comando y almacenamos el documento de texto inexistente y usamos 'ls' para que podamos ejecutar el comando en la primera tarea. Después de la primera tarea, usamos el comando ignore_errors=true de modo que si la tarea sobre la declaración de ignorar falla, ignora la tarea y pasa a la siguiente tarea y la ejecuta.

Enumeramos otra tarea que se utiliza. Si la primera tarea falla, la herramienta Ansible debe ejecutar la siguiente tarea. Luego, usamos el parámetro de depuración para ejecutar la tarea en el libro de jugadas.

- anfitriones: localhost
reunir_hechos: FALSO
tareas:
- nombre: Listar un inexistente archivo
dominio: ls inexistente.txt
ignorar_errores: verdadero
     
- nombre: continuar tarea después de fallar
depurar:
mensaje: 'Continuar la tarea después del error'

 

Ahora, enumeramos suficientes tareas para ejecutar y verificar el comando ignorar error. Ahora, terminamos el libro de jugadas y volvemos a la terminal principal. Después de eso, ejecutamos el libro de jugadas. Para eso, usamos la siguiente declaración:

[ raíz @ maestro ansible ] # libro de jugadas ansible ignore_errors.yml

 

Después de ejecutar el comando mencionado anteriormente, obtenemos el siguiente resultado. Como puede ver, la primera tarea que enumera un archivo inexistente muestra un error. Pero la segunda tarea se ejecutó correctamente porque ignoramos la primera al utilizar ignore_error=true en el libro de jugadas.

Conclusión

Aprendimos lo que significa el error de ignorar en Ansible. Discutimos cómo funciona en el libro de jugadas de Ansible. También discutimos las diferentes formas de ignorar el error en Ansible mientras se ejecutan las tareas. Implementamos un ejemplo para que todo concepto quede claro para el usuario.