Saltstack¶
Personnalisation de recettes¶
Inclusion¶
Pour utiliser une recette existante dans une recette:
include: - action.recette1 - action.recette2
Pré-requis¶
Pour forcer l'exécution d'une recette avant une autre :
include: - recette mkdir: file.directory: - name: /tmp/stuff/subdir - user: eole - group: adm - file_mode: 744 - dir_mode: 755 - require: - sls: recette
héritage¶
recette 'eole' (/srv/salt/eole.sls) :
eole: file.directory: - name: /tmp/stuff/substuf - user: eole - group: adm - file_mode: 744 - dir_mode: 755
extension (/srv/salt/local.sls) :
include: - eole extend: eole: file.directory: - makedirs: True
L'appel à la première recette échoue si le répertoire /tmp/stuff n'existe pas :
salt 'local' state.sls eole
La recette étendue le crée automatiquement
Solutions possibles¶
gestion par eole¶
Les recettes EOLE seront dans le répertoire :
/usr/share/eole/sls/eole/
Les utilisateurs auront la possibilité de redéfinir une recette en créant un fichier dans :
/usr/share/eole/sls/
La recette devra avoir le même nom que la recette "EOLE".
Dans cette recette, les utilisateurs pourront redéfinir la recette d'origine de la manière suivante :
dans /usr/share/eole/sls/mkdir.sls
include: - eole/mkdir extend: mkdir: file.directory: - user: eole
Les recettes seront copiés au reconfigure dans le répertoire /srv/salt.
S'il y a des recettes personnalisés, la recette EOLE est copiée dans /srv/salt/eole.
application de plusieurs fichiers state avec state.apply¶
fichier mkdir_eole.sls
mkdir: file.directory: - name: /tmp/stuff/subdir - user: eole - group: adm - file_mode: 744 - dir_mode: 755 titi: file.directory: - name: /tmp/titi - user: eole - group: root - file_mode: 744 - dir_mode: 755
fichier mkdir_local.sls
include: - mkdir_eole extend: mkdir: file.directory: - name: /tmp/pouet2
exécution
oot@eolebase:/srv/salt# salt '*' state.apply "mkdir_*" local: ---------- ID: mkdir Function: file.directory Name: /tmp/pouet2 Result: True Comment: Directory /tmp/pouet2 updated Started: 17:51:19.335846 Duration: 9.165 ms Changes: ---------- /tmp/pouet2: New Dir ---------- ID: titi Function: file.directory Name: /tmp/titi Result: True Comment: Directory /tmp/titi updated Started: 17:51:19.345197 Duration: 1.412 ms Changes: ---------- /tmp/titi: New Dir Summary for local ------------ Succeeded: 2 (changed=2)