Resolución de Advertencias del Intérprete de Python en Ansible

AnsibleBeginner
Practicar Ahora

Introducción

En este desafío, te enfrentarás a un problema común de configuración en Ansible relacionado con el intérprete de Python. Al ejecutar comandos de Ansible, es posible que recibas advertencias sobre el intérprete de Python predeterminado. Tu tarea consiste en resolver estas advertencias configurando Ansible de manera adecuada. Este reto pondrá a prueba tu capacidad para comprender los archivos de configuración de Ansible y realizar los ajustes necesarios para optimizar tu entorno de automatización.

Este es un Desafío (Challenge), que a diferencia de un Laboratorio Guiado, requiere que intentes completar la tarea de forma independiente en lugar de seguir pasos detallados. Los desafíos suelen tener un nivel de dificultad mayor. Si encuentras obstáculos, puedes consultar con Labby o revisar la solución. Los datos históricos muestran que este es un desafío de nivel principiante con una tasa de aprobación del 97%. Ha recibido una valoración positiva del 97% por parte de los usuarios.

Configurar Ansible para usar el intérprete de Python correcto

Se te ha proporcionado un entorno de Ansible preconfigurado. Al intentar ejecutar un comando sencillo de Ansible, aparecen advertencias sobre el intérprete de Python. Tu objetivo es eliminar estas advertencias y asegurar que los comandos de Ansible se ejecuten sin problemas relacionados con el intérprete.

Para reproducir las advertencias, ejecuta el siguiente comando en tu terminal:

ansible all -m ping

Deberías ver una salida similar a esta:

[DEPRECATION WARNING]: Distribution ubuntu 22.04 on host localhost should use /usr/bin/python3, but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this host. See
https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html for more information. This feature will be removed in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
localhost | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
[DEPRECATION WARNING]: Distribution ubuntu 22.04 on host web1 should use /usr/bin/python3, but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this host. See
https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html for more information. This feature will be removed in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
web1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

Tu meta es eliminar estas advertencias y asegurar que Ansible utilice Python 3.

Tareas

  • Identificar las advertencias del intérprete de Python al ejecutar el comando de Ansible.
  • Crear un archivo de configuración de Ansible para especificar el intérprete de Python correcto.
  • Verificar que las advertencias se hayan resuelto ejecutando el comando nuevamente.

Requisitos

  1. Todas las operaciones deben realizarse en el directorio /home/labex/project.
  2. Crea un archivo de configuración de Ansible llamado ansible.cfg en el directorio /home/labex/project.
  3. Utiliza la opción de configuración adecuada para establecer el intérprete de Python en /usr/bin/python3.
  4. El archivo de inventario ya está configurado en /etc/ansible/hosts (proporcionado en la configuración inicial).

Ejemplo

Después de configurar Ansible correctamente, la ejecución del comando no debería producir ninguna advertencia sobre el intérprete de Python. La salida debería verse similar a esta:

localhost | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
web1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
✨ Revisar Solución y Practicar

Resumen

En este desafío, has aprendido a resolver un problema común de configuración de Ansible relacionado con el intérprete de Python. Te enfrentaste a advertencias sobre el uso de un intérprete de Python obsoleto y aprendiste a configurar Ansible para que utilice Python 3 en su lugar. Al crear un archivo de configuración de Ansible (ansible.cfg) y emplear la opción interpreter_python para especificar la ruta correcta, garantizaste que Ansible utilice la versión de Python adecuada. Este ejercicio demuestra la importancia de configurar correctamente Ansible para que interactúe de forma óptima con el entorno de Python de tu sistema, lo cual es fundamental para evitar mensajes innecesarios y asegurar una ejecución fluida de tus tareas de automatización.