Apprendre à connaitre les fonctions

Salt est installé avec une grande librairie de fonctions à éxécuter, et les fonctions Salt sont auto-documentées. Pour voir quelles fonctions sont disponibles sur les Minions il suffit d’éxécuter la fonction sys.doc:

[root@master ~] salt '*' sys.doc

Cela va afficher une très grande liste des fonctions disponibles et leur documentation.

Les fonctions utiles à connaitre

Le module cmd contient des fonctions qui vont être lancées sur les Minions, tel que cmd.run et cmd.run_all:

[root@master ~] salt '*' cmd.run 'ls -l /etc'

La fonction pkg récupère automatiquement le système de paquet local sur les Minions. Cela veut dire que pkg.install va installer un paquet depuis yum sur les système Red Hat, apt sur Debian, etc, ... :

[root@master ~] salt '*' pkg.install vim

Nous allons voir comment installer un serveur Web, puis lancer le service:

[root@master ~] salt '*' pkg.install nginx
[root@master ~] salt '*' service.start nginx

La fonction network.interfaces va lister toutes les interfaces sur un Minion, avec leur adresse IP, le netmask, la MAC adresse, etc ...:

[root@master ~] salt '*' network.interfaces

Changement du format de sortie

Le format de sortie par defaut utilisé par les commandes Salt est appelé nestedoutputter, mais il existe plusieurs autres outputter qui peuvent être utilisés pour changer les messages de sortie. Par exemple, l’outputter pprint peut être utilisé pour afficher les données retournées en utilisant le module Python pprint:

[root@master ~] salt <myminion> grains.item pythonpath --out=pprint