Les prérequis pour utiliser Ansible :

sur le "maitre", le paquet ansible

apt install ansible

sur les clients, openssh-server et python

apt install openssh-server apt install python

Il faut ensuite générer une clef ssh sur le maitre et la copier dans le .ssh/authorized_keys de root sur les clients.

Ensuite, nous commençons à configurer la liste des hôtes à manager :

Editer le fichier /etc/ansible/hosts comme suit :

[openvas]
172.17.0.5

[puppet]
172.17.0.4 
172.17.0.3
172.17.0.7

[not-mine]
172.17.0.6
172.17.0.2

Nous pouvons ensuite tester que la base est fonctionnel comme suit :

ansible all -m ping

Puis procéder à une installation, ou une suppression de package comme suit :

ansible puppet -m apt -a "name=sl state=present"
ansible puppet -m apt -a "name=sl state=removed"

Voila pour les bases.

Pour les modules, et leurs attributs, je vous renvoie à la documentation

Il reste ensuite beaucoup à voir, comme créer un playbook (qui est une succession de modules et d'arguments mis dans un fichier yml), exemple :

Nous créons un fichier playbook nommé sl-playbook.yml qui contient :

- hosts: puppet
  tasks:
  - name: ensure sl is at the latest version
    apt: name=sl state=present

Attention aux indentations !!! Ici dotclear n'a pas permi de conserver celle-ci et donc un copier-coller de ce playbook donnera des erreurs.

Et exécutons l'installation de sl sur les noeuds puppet avec la commande :

ansible-playbook sl-playbook.xml

Enfin, dernière subtilité avec les playbook, il peut être utile de jouer le playbook sur une liste d'hôtes autre que celle centralisée dans /etc/ansible/hosts, pour ce :

ansible-playbook sl.playbook.yml -i my-hosts-list

ou my-hosts-list est un fichier au même format que le fichier hosts d'ansible.