Environnement Python pour Ansible & Molecule (venv)
Objectif : Standardiser un environnement Python isolé pour Ansible et Molecule afin de garantir stabilité, reproductibilité et compatibilité en environnement LXC / serveur / homelab.
1. Architecture recommandée
Principe :
Un environnement Python isolé (venv) par stack.
Un environnement Python isolé (venv) par stack.
/opt/ansible-venv→ Ansible + Molecule- Pas d’installation pip globale
- Pas de mélange apt + pip pour Ansible
2. Pré-requis système
sudo apt update sudo apt install -y python3 python3-venv python3-pip \ gcc git build-essential
ATTENTION :
Ne jamais utiliser
Ne jamais utiliser
sudo pip install sur le système hôte.3. Création du venv Ansible
python3 -m venv /opt/ansible-venv
Correction des permissions (important en LXC)
sudo chown -R $USER:$USER /opt/ansible-venv
4. Activation du venv
source /opt/ansible-venv/bin/activate
Alias recommandé
echo 'alias avenv="source /opt/ansible-venv/bin/activate"' >> ~/.bashrc echo 'alias dvenv="deactivate"' >> ~/.bashrc source ~/.bashrc
Usage :
avenv pour activer l’environnement.5. Installation Ansible (core)
pip install --upgrade pip setuptools wheel pip install ansible
Validation
ansible --version ansible-config --version
6. Installation Molecule
Installation standard
pip install molecule
Drivers recommandés
# Docker pip install molecule molecule-docker # Podman pip install molecule molecule-podman
7. Vérification globale
which ansible-config which molecule ansible --version molecule --version
Résultat attendu :
Tous les binaires doivent pointer vers
Tous les binaires doivent pointer vers
/opt/ansible-venv/bin/8. Maintenance et mises à jour
Voir les paquets obsolètes
pip list --outdated
Mettre à jour pip
pip install --upgrade pip
Mise à jour globale du venv
pip install pip-review pip-review --auto
ATTENTION :
Les mises à jour automatiques peuvent casser la compatibilité Ansible/Molecule. À utiliser uniquement en environnement non production.
Les mises à jour automatiques peuvent casser la compatibilité Ansible/Molecule. À utiliser uniquement en environnement non production.
9. Sauvegarde / reproductibilité
Exporter l’environnement
pip freeze > requirements.txt
Restaurer
pip install -r requirements.txt
10. Dépannage (RUNBOOK)
❌ ansible-config introuvable
pip install ansible
❌ Permission denied dans /opt/ansible-venv
sudo chown -R $USER:$USER /opt/ansible-venv
❌ Molecule ne trouve pas Ansible
pip install ansible molecule
❌ Mauvais PATH (pipx / system conflict)
which ansible which molecule echo $PATH
11. Commandes opérationnelles
avenv # activer venv dvenv # désactiver venv ansible-playbook # exécuter playbooks molecule test # tests infra pip list # paquets installés pip list --outdated # audit
12. Recommandations d’architecture
- 1 venv = 1 stack (Ansible / CI / dev)
- éviter pip global système
- préférer /opt pour environnements partagés serveur
- préférer ~/venvs pour dev utilisateur
Conclusion :
Un environnement venv propre garantit stabilité, reproductibilité et compatibilité avec Ansible & Molecule en environnement LXC / homelab.
Un environnement venv propre garantit stabilité, reproductibilité et compatibilité avec Ansible & Molecule en environnement LXC / homelab.
No comments to display
No comments to display