Résolution de l'avertissement sur l'interpréteur Python d'Ansible

AnsibleBeginner
Pratiquer maintenant

Introduction

Dans ce défi, vous serez confronté à un problème de configuration courant d'Ansible lié à l'interpréteur Python. Lors de l'exécution de commandes Ansible, il arrive que des avertissements s'affichent concernant l'interpréteur Python par défaut. Votre mission consiste à résoudre ces avertissements en configurant correctement Ansible. Ce défi testera votre capacité à comprendre les fichiers de configuration d'Ansible et à effectuer les ajustements nécessaires pour optimiser votre environnement de travail.

Configurer Ansible pour utiliser le bon interpréteur Python

Un environnement Ansible pré-configuré a été mis à votre disposition. Lorsque vous tentez d'exécuter une commande Ansible simple, des avertissements concernant l'interpréteur Python apparaissent. Votre objectif est de faire disparaître ces avertissements et de vous assurer que les commandes Ansible s'exécutent sans aucun problème lié à l'interpréteur.

Pour reproduire les avertissements, exécutez la commande suivante dans votre terminal :

ansible all -m ping

Vous devriez voir une sortie similaire à celle-ci :

[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"
}

Votre but est d'éliminer ces messages d'obsolescence et de garantir qu'Ansible utilise Python 3.

Tâches

  • Identifier les avertissements de l'interpréteur Python lors de l'exécution de la commande Ansible.
  • Créer un fichier de configuration Ansible pour spécifier l'interpréteur Python correct.
  • Vérifier que les avertissements ont disparu en exécutant à nouveau la commande.

Exigences

  1. Toutes les opérations doivent être effectuées dans le répertoire /home/labex/project.
  2. Créez un fichier de configuration Ansible nommé ansible.cfg dans le répertoire /home/labex/project.
  3. Utilisez l'option de configuration appropriée pour définir l'interpréteur Python sur /usr/bin/python3.
  4. Le fichier d'inventaire est déjà configuré à l'emplacement /etc/ansible/hosts (fourni lors de l'initialisation).

Exemple

Une fois Ansible correctement configuré, l'exécution de la commande ne doit plus générer d'avertissements concernant l'interpréteur Python. Le résultat devrait ressembler à ceci :

localhost | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
web1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
✨ Vérifier la solution et pratiquer

Résumé

Dans ce défi, vous avez appris à résoudre un problème de configuration Ansible courant lié à l'interpréteur Python. Vous avez été confronté à des avertissements concernant l'utilisation d'un interpréteur Python obsolète et avez appris à configurer Ansible pour qu'il utilise Python 3 à la place. En créant un fichier de configuration Ansible (ansible.cfg) et en utilisant l'option interpreter_python pour spécifier le chemin correct, vous avez assuré la compatibilité d'Ansible avec l'environnement système. Cet exercice démontre l'importance de configurer correctement Ansible pour qu'il interagisse de manière transparente avec l'environnement Python de votre machine, ce qui est crucial pour éviter les messages parasites et garantir la bonne exécution de vos automatisations.