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.

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 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 /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.

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


Conclusion :
Un environnement venv propre garantit stabilité, reproductibilité et compatibilité avec Ansible & Molecule en environnement LXC / homelab.

Revision #1
Created 2026-05-18 20:02:32 UTC by Nico là
Updated 2026-05-18 20:04:21 UTC by Nico là