Resolver la advertencia del intérprete de Python de Ansible

AnsibleAnsibleBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este desafío, te encontrarás con un problema común de configuración de 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 es resolver estas advertencias configurando adecuadamente Ansible. Este desafío probará tu capacidad para entender los archivos de configuración de Ansible y realizar los ajustes necesarios para optimizar tu entorno de Ansible.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ansible(("Ansible")) -.-> ansible/AnsibleSetupandConfigurationGroup(["Ansible Setup and Configuration"]) ansible(("Ansible")) -.-> ansible/ModuleOperationsGroup(["Module Operations"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) ansible/AnsibleSetupandConfigurationGroup -.-> ansible/install("Ansible Setup") ansible/ModuleOperationsGroup -.-> ansible/command("Execute Commands") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills ansible/install -.-> lab-390490{{"Resolver la advertencia del intérprete de Python de Ansible"}} ansible/command -.-> lab-390490{{"Resolver la advertencia del intérprete de Python de Ansible"}} linux/touch -.-> lab-390490{{"Resolver la advertencia del intérprete de Python de Ansible"}} linux/nano -.-> lab-390490{{"Resolver la advertencia del intérprete de Python de Ansible"}} end

Configurar Ansible para Usar el Interprete de Python Correcto

Se te ha proporcionado un entorno de Ansible pre-configurado. Cuando intentas ejecutar un comando simple de Ansible, encuentras advertencias sobre el intérprete de Python. Tu tarea es resolver estas advertencias y asegurar que los comandos de Ansible se ejecuten sin ningún problema relacionado 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:

[ADVERTENCIA DE DEPRECACIÓN]: La distribución ubuntu 22.04 en el host localhost debería usar /usr/bin/python3, pero está usando /usr/bin/python para la compatibilidad hacia atrás con versiones anteriores de Ansible. Una futura versión de Ansible usará por defecto el intérprete de Python descubierto para este host. Consulte https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html para obtener más información. Esta característica se eliminará en la versión 2.12. Las advertencias de deprecación se pueden deshabilitar estableciendo deprecation_warnings=False en ansible.cfg.
localhost | ÉXITO => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
[ADVERTENCIA DE DEPRECACIÓN]: La distribución ubuntu 22.04 en el host web1 debería usar /usr/bin/python3, pero está usando /usr/bin/python para la compatibilidad hacia atrás con versiones anteriores de Ansible. Una futura versión de Ansible usará por defecto el intérprete de Python descubierto para este host. Consulte https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html para obtener más información. Esta característica se eliminará en la versión 2.12. Las advertencias de deprecación se pueden deshabilitar estableciendo deprecation_warnings=False en ansible.cfg.
web1 | ÉXITO => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

Tu objetivo es eliminar estas advertencias y asegurar que Ansible use 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 han resuelto ejecutando el comando nuevamente.

Requisitos

  1. Todas las operaciones deben realizarse en el directorio /home/labex/project.
  2. Crear un archivo de configuración de Ansible llamado ansible.cfg en el directorio /home/labex/project.
  3. Usar 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 correctamente Ansible, al ejecutar el comando no debería producir ninguna advertencia del intérprete de Python. La salida debería verse similar a esta:

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

Resumen

En este desafío, aprendiste cómo resolver un problema común de configuración de Ansible relacionado con el intérprete de Python. Encontraste advertencias sobre el intérprete de Python deprecado y aprendiste cómo configurar Ansible para usar Python 3 en su lugar. Al crear un archivo de configuración de Ansible (ansible.cfg) y usar la opción interpreter_python para especificar la ruta correcta del intérprete de Python, aseguraste de que Ansible use la versión adecuada de Python. Este ejercicio demuestra la importancia de configurar adecuadamente Ansible para que funcione sin problemas con el entorno de Python de tu sistema, lo cual es crucial para evitar advertencias y garantizar la ejecución fluida de tus comandos de Ansible.