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

AnsibleAnsibleBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce défi, vous rencontrerez un problème de configuration Ansible courant lié à l'interpréteur Python. Lorsque vous exécutez des commandes Ansible, vous pouvez recevoir des avertissements concernant l'interpréteur Python par défaut. Votre tâche consiste à résoudre ces avertissements en configurant correctement Ansible. Ce défi vous testera votre capacité à comprendre les fichiers de configuration Ansible et à effectuer les ajustements nécessaires pour optimiser votre environnement 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{{"Résolution de l'avertissement de l'interpréteur Python d'Ansible"}} ansible/command -.-> lab-390490{{"Résolution de l'avertissement de l'interpréteur Python d'Ansible"}} linux/touch -.-> lab-390490{{"Résolution de l'avertissement de l'interpréteur Python d'Ansible"}} linux/nano -.-> lab-390490{{"Résolution de l'avertissement de l'interpréteur Python d'Ansible"}} end

Configure Ansible pour utiliser le bon interpréteur Python

Vous disposez d'un environnement Ansible préconfiguré. Lorsque vous essayez d'exécuter une commande Ansible simple, vous rencontrez des avertissements concernant l'interpréteur Python. Votre tâche est de résoudre ces avertissements et de vous assurer que les commandes Ansible s'exécutent sans 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 sur l'hôte localhost devrait utiliser /usr/bin/python3, mais utilise /usr/bin/python pour la compatibilité descendante avec les versions antérieures d'Ansible. Une future version d'Ansible utilisera par défaut l'interpréteur Python découvert pour cet hôte. Consultez https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html pour plus d'informations. Cette fonctionnalité sera supprimée dans la version 2.12. Les avertissements de dépréciation peuvent être désactivés en définissant deprecation_warnings=False dans ansible.cfg.
localhost | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
[DEPRECATION WARNING]: Distribution ubuntu 22.04 sur l'hôte web1 devrait utiliser /usr/bin/python3, mais utilise /usr/bin/python pour la compatibilité descendante avec les versions antérieures d'Ansible. Une future version d'Ansible utilisera par défaut l'interpréteur Python découvert pour cet hôte. Consultez https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html pour plus d'informations. Cette fonctionnalité sera supprimée dans la version 2.12. Les avertissements de dépréciation peuvent être désactivés en définissant deprecation_warnings=False dans ansible.cfg.
web1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

Votre objectif est d'éliminer ces avertissements et de vous assurer que 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 le bon interpréteur Python.
  • Vérifier que les avertissements ont été résolus en exécutant la commande à nouveau.

Exigences

  1. Toutes les opérations doivent être effectuées dans le répertoire /home/labex/project.
  2. Créer un fichier de configuration Ansible nommé ansible.cfg dans le répertoire /home/labex/project.
  3. Utiliser 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é à /etc/ansible/hosts (fourni dans la configuration initiale).

Exemple

Après avoir correctement configuré Ansible, l'exécution de la commande ne devrait pas produire d'avertissements concernant l'interpréteur Python. La sortie devrait ressembler à celle-ci :

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 rencontré des avertissements concernant l'interpréteur Python déprécié et appris à configurer Ansible pour utiliser 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 de l'interpréteur Python, vous avez vous assuré que Ansible utilise la version appropriée de Python. Cet exercice démontre l'importance de configurer correctement Ansible pour qu'il fonctionne sans problème avec l'environnement Python de votre système, ce qui est crucial pour éviter les avertissements et garantir l'exécution fluide de vos commandes Ansible.