Tutoriales

Cómo usar Ansible Assert para realizar tareas condicionales

Ansible es un marco desarrollado y lanzado en 2012. Es una herramienta de automatización de TI que utiliza diferentes playbooks, complementos y módulos para llevar a cabo tareas que se realizan en un entorno de administración de software.

En este artículo, veremos el módulo de afirmación, cómo funciona, por qué es necesario y las diferentes formas en que se puede integrar en sus actividades rutinarias de Ansible.

¿Cómo funcionan las declaraciones condicionales?

Mientras codificamos en un lenguaje de programación regular, nos encontramos con situaciones en las que necesitamos declaraciones condicionales para resolver el problema. El programa necesita tomar algunas decisiones para pasar a la siguiente parte del problema.

Un ejemplo de sentencia condicional es la sentencia if y else. El funcionamiento de la declaración if y else es que si la expresión después de «if» es verdadera, el flujo lógico y el control irían a la expresión incluida con «if». Sin embargo, si la condición del “if” es falsa, el control pasa a la expresión incluida con “else”.

Por ejemplo, observe el siguiente pseudocódigo.

si a=10

escribe «a es 10»

demás

escribe «a no es 10»

El compilador primero verificará si «a» es 10 o no. Si es así, se imprimirá «a es 10», de lo contrario, se imprimirá «a no es 10».

Puede usar declaraciones condicionales para dirigir su CPU para realizar tareas lógicas. Hay muchos casos en los que puede encontrar sentencias if-else cruciales para los cálculos deseados. El módulo de afirmación en Ansible hace algo similar.

¿Qué es el módulo de afirmación de Ansible?

Si cierta condición es verdadera, puede «afirmar» que la expresión dada es verdadera e imprimir un mensaje junto con ella. Assert no le indica al sistema que tome una decisión, por lo que no es una declaración condicional. Simplemente le dice al sistema que la declaración que se está escribiendo es verdadera.

El módulo de afirmación se puede utilizar en combinación con cualquier otro módulo. Puede integrarlo con otros módulos para recibir un mensaje de éxito tan pronto como la condición se cumpla. No hay errores lógicos o aritméticos que se puedan cometer ni problemas que puedan surgir al utilizar la afirmación en los libros de jugadas de Ansible.

Parámetros

Hay diferentes parámetros disponibles con assert para hacerlo más funcional e ingenioso. A continuación se presentan algunos parámetros que usará con más frecuencia.

Error_mensaje: Puede usar esto con afirmación para imprimir una declaración que indique que la condición mencionada con afirmación no era cierta.

Mensaje_de_éxito: Esto se puede usar para imprimir un mensaje que indique que la condición mencionada con afirmar resultó ser cierta.

Ese: Este es el operador que debe usar con afirmación para especificar la condición o declaración.

Tranquilo: Se puede usar Quiet en lugar de Success_msg para mencionar que la condición es verdadera.

Esta fue la introducción básica del módulo de afirmación disponible en Ansible. A continuación, echemos un vistazo a algunos ejemplos de cómo se utiliza la afirmación y sus diferentes parámetros.

Ejemplos

– afirmar: { ese: «a=10′» }

Este es un ejemplo simple en el que usamos afirmar en combinación con «eso» para afirmar que la variable a, es 10.

– afirmar:

ese
:

– un = 3

Esta es otra forma de usar la afirmación con «eso» para especificar el valor de la variable a.

– afirmar:

ese
:

– ejemplo

– ejemplo >= 0

error_mensaje
: «‘ejemplo’ debe estar entre 0 y 10»

mensaje_de_éxito
: «‘ejemplo’ está entre 0 y 10»

Aparte de eso, puede ejecutar un libro de jugadas usando el siguiente comando en el shell de Linux:

ansible-playbook testbook.yml

En este ejemplo, usamos aserción, «eso», «mensaje_fallido» y «mensaje_éxito» en el mismo código. Como es evidente, estamos especificando que el valor de la variable «ejemplo» está entre 0 y 10. fail_msg imprime el mensaje que dice que el valor solo puede estar entre 0 y 10 y success_msg imprime el mensaje que dice que «ejemplo» se encuentra en el rango de 0 y 10.

– afirmar:

ese
:

– ejemplo

– ejemplo >= 0

mensaje
: «‘ejemplo’ debe estar entre 0 y 10»

Ansible 2.7 y versiones anteriores no tenían las funciones «success_msg» o «fail_msg». Existía el simple operador «msg» que podía usarse para imprimir un determinado mensaje. Hemos utilizado «msg» en el ejemplo anterior.

– afirmar:

ese
:

– mi_parámetro

– mi_parámetro >= 0

tranquilo
: verdadero

Por último, en este ejemplo hemos utilizado el operador «silencioso» para especificar que la condición escrita es verdadera.

Estos fueron algunos ejemplos de cómo el módulo de afirmación y sus parámetros se usan en combinación. Assert es un gran módulo para ser utilizado en libros de jugadas. Veamos cómo funcionaría eso.

Ansible Assert en Playbooks

Los playbooks son una de las características principales de Ansible. Están escritos en formato YAML, que significa «Otro lenguaje de marcado». La sintaxis para crear playbooks es muy simple y lo mejor de ellos es que los playbooks son flexibles, lo que hace que Ansible sea cada vez más ingenioso.

Con libros de jugadas que tienen el módulo de aserción en ellos, los usuarios pueden crear funciones y estrategias de prueba para ellos y sus sistemas. Por ejemplo, puede crear un libro de jugadas que verifique automáticamente las actualizaciones del sistema. Puede usar afirmar y hacer que su libro de jugadas le brinde un mensaje de «actualización exitosa» o un mensaje de «actualizaciones disponibles», siempre que busque actualizaciones.

Playbooks como estos son la razón por la cual Ansible es poderoso. Aporta automatización a nuestros entornos de gestión, lo que permite a los usuarios ser más eficientes.

Conclusión

En este artículo, analizamos el módulo de afirmación. Como se estableció anteriormente, el módulo de afirmación es similar al uso de declaraciones condicionales en lenguajes de programación regulares. Observamos la función realizada por assert y la forma en que podemos usar diferentes parámetros disponibles con él.

Esperamos que haya podido comprender todo el concepto de usar assert y cómo puede usarlo para generar mensajes. Para más preguntas, por favor háganoslo saber en los comentarios.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Botón volver arriba