L’annonce de la version 3.0.0 du package communautaire Ansible marque la fin
d’un projet amorcé en 2019. Ce projet visait à modifier comment était livré
Ansible.
Historiquement Ansible embarquait le runtime ainsi que tous les
plugins et modules dans un seul package. Désormais avec la version 3.0 nous
aurons droits à 3 types d’artefacts distincts :
Ansible-base - Le runtime Ansible mimimal
Les collections Ansible
Et enfin le Ansible community package qui intégrera l’installation
d’Ansible-base mais aussi les collections et qui se nommera ansible.
Leur versionning vont vivre séparément:
Celui d’Ansible-base conservera l’actuelle et donc se nommera ansible-base 2.10 puis 2.11, …
Le package ansible de la communauté Ansible (Ansible Core + Community
Collections) adopte le contrôle de version sémantique et donc pour la
prochaine est la 3.0.0. En conséquence, le numéro de version de l’ensemble du
package ne correspond plus à celui d’Ansible-Base, dont le numéro de version
actuel est toujours 2.10 et continuera à évoluer ainsi.
Toutes les 3 semaines une version mineure sera livré et sera nommé 3.1.0, 3.2.0, …
La prochaine version majeure d’Ansible, la 4.0 est prévue pour mai et devrait
contenir ansible-base 2.11. La 5.0 est elle prévue pour novembre et intégrera
ansible-base 2.12.
J’espère que vous avez compris :)
Comment Installer Ansible 3.0.0
Si on recherche ansible sur le gestionnaire de package Pypi on voit bien un
ansible 3.0.0. Attention si vous avez déjà installé une version antérieure à la
2.10 installée il faudra la désinstaller en premier.
Comment s’y retrouver. Ouvrons un docker et installons ansible classiquement avec pip :
On voit bien la construction de deux packages: ansible-base et ansible.
Quels sont les modules disponibles ?
Il suffit de lancer la commande ansible-galaxy pour lister les collections installés par défaut :
Nous voila rassuré tous les modules principaux sont présents. Donc on voit que
si on installe la package ansible rien ne change. Mais si on souhaite un
environnement miminal rien n’interdit d’installer que le package ansible-base et
ensuite d’installer que les collections nécessaires avec la commande
ansible-galaxy. De quoi construire des images plus petites et de gérer le
versionning plus finement, mais attention aux incompatibilités.
Si vous voulez plus de tutorials Ansible je vous renvoie sur le billet de
l’introduction à ansible