Aller au contenu

Dépannage Ansible

Cette section couvre les problèmes courants rencontrés avec Ansible et comment les résoudre.

Problèmes de connexion SSH

  • Erreur : Permission denied (publickey).
  • Solution :
  • Vérifiez que les clés SSH sont configurées :
    ssh-copy-id admin@192.168.1.10
    
  • Assurez-vous que ansible_user est correct dans l’inventaire.
  • Vérifiez le fichier ~/.ssh/config.

Erreurs de module

  • Erreur : Module 'apt' is not installed.
  • Solution : Assurez-vous que Python est installé sur l’hôte cible :
    ansible -i inventory.ini all -m raw -a "apt install python3 -y"
    

Playbook échoue

  • Erreur : Syntax error.
  • Solution : Vérifiez la syntaxe :

    ansible-playbook playbook.yml --syntax-check
    

  • Erreur : Task failed.

  • Solution : Activez la verbosité pour plus de détails :
    ansible-playbook playbook.yml -vvv
    

Variables non définies

  • Erreur : undefined variable.
  • Solution :
  • Vérifiez que la variable est définie dans vars, vars_files, ou l’inventaire.
  • Utilisez debug pour inspecter :
    - name: Afficher variable
      debug:
        msg: "{{ my_variable | default('non défini') }}"
    

Problèmes d’idempotence

  • Problème : Une tâche change l’état à chaque exécution.
  • Solution : Remplacez command par un module idempotent :
    # Mauvais
    - name: Créer utilisateur
      command: useradd myuser
    # Bon
    - name: Créer utilisateur
      user:
        name: myuser
        state: present
    

Problèmes de performance

  • Problème : Exécution lente.
  • Solution :
  • Augmentez les forks dans ansible.cfg :
    [defaults]
    forks = 50
    
  • Activez le cache des facts :
    [defaults]
    fact_caching = jsonfile
    fact_caching_timeout = 86400
    

Problèmes avec Vault

  • Erreur : Vault password incorrect.
  • Solution : Assurez-vous d’utiliser le bon mot de passe :
    ansible-playbook vault.yml --ask-vault-pass
    

Ressources