Projet

Général

Profil

Saltstack » Historique » Version 7

Bruno Boiget, 06/12/2016 18:02

1 1 Bruno Boiget
h1. Saltstack
2 1 Bruno Boiget
3 1 Bruno Boiget
h2. Personnalisation de recettes
4 1 Bruno Boiget
5 3 Bruno Boiget
h3. Inclusion
6 3 Bruno Boiget
7 3 Bruno Boiget
Pour utiliser une recette existante dans une recette:
8 3 Bruno Boiget
9 3 Bruno Boiget
<pre>
10 3 Bruno Boiget
include:
11 3 Bruno Boiget
  - recette1
12 4 Bruno Boiget
  - recette2
13 3 Bruno Boiget
</pre>
14 3 Bruno Boiget
15 5 Bruno Boiget
h3. Pré-requis
16 5 Bruno Boiget
17 5 Bruno Boiget
Pour forcer l'exécution d'une recette avant une autre :
18 5 Bruno Boiget
19 5 Bruno Boiget
<pre>
20 5 Bruno Boiget
include:
21 5 Bruno Boiget
  - recette
22 5 Bruno Boiget
23 5 Bruno Boiget
mkdir:
24 5 Bruno Boiget
  file.directory:
25 5 Bruno Boiget
    - name: /tmp/stuff/subdir
26 5 Bruno Boiget
    - user: eole
27 5 Bruno Boiget
    - group: adm
28 5 Bruno Boiget
    - file_mode: 744
29 5 Bruno Boiget
    - dir_mode: 755
30 5 Bruno Boiget
    - require:
31 5 Bruno Boiget
      - sls: recette
32 5 Bruno Boiget
</pre>
33 5 Bruno Boiget
34 5 Bruno Boiget
35 1 Bruno Boiget
h3. héritage
36 1 Bruno Boiget
37 2 Bruno Boiget
recette 'eole' (/srv/salt/eole.sls) :
38 1 Bruno Boiget
39 1 Bruno Boiget
<pre>
40 1 Bruno Boiget
eole:
41 1 Bruno Boiget
  file.directory:
42 1 Bruno Boiget
    - name: /tmp/stuff/substuf
43 1 Bruno Boiget
    - user: eole
44 1 Bruno Boiget
    - group: adm
45 1 Bruno Boiget
    - file_mode: 744
46 1 Bruno Boiget
    - dir_mode: 755
47 1 Bruno Boiget
</pre>
48 1 Bruno Boiget
49 2 Bruno Boiget
extension (/srv/salt/local.sls) :
50 1 Bruno Boiget
51 1 Bruno Boiget
<pre>
52 1 Bruno Boiget
include:
53 1 Bruno Boiget
  - eole
54 1 Bruno Boiget
55 1 Bruno Boiget
extend:
56 1 Bruno Boiget
  eole:
57 1 Bruno Boiget
    file.directory:
58 1 Bruno Boiget
      - makedirs: True
59 1 Bruno Boiget
</pre>
60 1 Bruno Boiget
61 2 Bruno Boiget
L'appel à la première recette échoue si le répertoire /tmp/stuff n'existe pas :
62 2 Bruno Boiget
63 2 Bruno Boiget
   salt 'local' state.sls eole
64 2 Bruno Boiget
65 2 Bruno Boiget
La recette étendue le crée automatiquement
66 6 Bruno Boiget
67 7 Bruno Boiget
h2. Solutions possibles
68 1 Bruno Boiget
69 7 Bruno Boiget
h3. gestion par eole
70 7 Bruno Boiget
71 6 Bruno Boiget
Les recettes EOLE seront dans le répertoire :
72 6 Bruno Boiget
73 6 Bruno Boiget
<pre>
74 6 Bruno Boiget
/usr/share/eole/sls/eole/
75 6 Bruno Boiget
</pre>
76 6 Bruno Boiget
77 6 Bruno Boiget
Les utilisateurs auront la possibilité de redéfinir une recette en créant un fichier dans :
78 6 Bruno Boiget
79 6 Bruno Boiget
<pre>
80 6 Bruno Boiget
/usr/share/eole/sls/
81 6 Bruno Boiget
</pre>
82 6 Bruno Boiget
83 6 Bruno Boiget
La recette devra avoir le même nom que la recette "EOLE".
84 6 Bruno Boiget
85 6 Bruno Boiget
Dans cette recette, les utilisateurs pourront redéfinir la recette d'origine de la manière suivante :
86 6 Bruno Boiget
87 6 Bruno Boiget
dans /usr/share/eole/sls/mkdir.sls
88 6 Bruno Boiget
89 6 Bruno Boiget
<pre>
90 6 Bruno Boiget
include:
91 6 Bruno Boiget
    - eole/mkdir
92 6 Bruno Boiget
93 6 Bruno Boiget
extend:
94 6 Bruno Boiget
  mkdir:
95 6 Bruno Boiget
    file.directory:
96 6 Bruno Boiget
      - user: eole
97 6 Bruno Boiget
</pre>
98 6 Bruno Boiget
99 6 Bruno Boiget
Les recettes seront copiés au reconfigure dans le répertoire /srv/salt.
100 6 Bruno Boiget
101 1 Bruno Boiget
S'il y a des recettes personnalisés, la recette EOLE est copiée dans /srv/salt/eole.
102 7 Bruno Boiget
103 7 Bruno Boiget
h3. application de plusieurs fichiers state avec state.apply
104 7 Bruno Boiget
105 7 Bruno Boiget
fichier *mkdir_eole.sls*
106 7 Bruno Boiget
<pre>
107 7 Bruno Boiget
mkdir:
108 7 Bruno Boiget
  file.directory:
109 7 Bruno Boiget
    - name: /tmp/stuff/subdir
110 7 Bruno Boiget
    - user: eole
111 7 Bruno Boiget
    - group: adm
112 7 Bruno Boiget
    - file_mode: 744
113 7 Bruno Boiget
    - dir_mode: 755
114 7 Bruno Boiget
115 7 Bruno Boiget
titi:
116 7 Bruno Boiget
  file.directory:
117 7 Bruno Boiget
    - name: /tmp/titi
118 7 Bruno Boiget
    - user: eole
119 7 Bruno Boiget
    - group: root
120 7 Bruno Boiget
    - file_mode: 744
121 7 Bruno Boiget
    - dir_mode: 755
122 7 Bruno Boiget
</pre>
123 7 Bruno Boiget
124 7 Bruno Boiget
fichier *mkdir_local.sls*
125 7 Bruno Boiget
<pre>
126 7 Bruno Boiget
include:
127 7 Bruno Boiget
    - mkdir_eole
128 7 Bruno Boiget
129 7 Bruno Boiget
extend:
130 7 Bruno Boiget
  mkdir:
131 7 Bruno Boiget
    file.directory:
132 7 Bruno Boiget
      - name: /tmp/pouet2
133 7 Bruno Boiget
</pre>
134 7 Bruno Boiget
135 7 Bruno Boiget
*exécution*
136 7 Bruno Boiget
137 7 Bruno Boiget
<pre>
138 7 Bruno Boiget
oot@eolebase:/srv/salt# salt '*' state.apply "mkdir_*"
139 7 Bruno Boiget
local:
140 7 Bruno Boiget
----------
141 7 Bruno Boiget
          ID: mkdir
142 7 Bruno Boiget
    Function: file.directory
143 7 Bruno Boiget
        Name: /tmp/pouet2
144 7 Bruno Boiget
      Result: True
145 7 Bruno Boiget
     Comment: Directory /tmp/pouet2 updated
146 7 Bruno Boiget
     Started: 17:51:19.335846
147 7 Bruno Boiget
    Duration: 9.165 ms
148 7 Bruno Boiget
     Changes:   
149 7 Bruno Boiget
              ----------
150 7 Bruno Boiget
              /tmp/pouet2:
151 7 Bruno Boiget
                  New Dir
152 7 Bruno Boiget
----------
153 7 Bruno Boiget
          ID: titi
154 7 Bruno Boiget
    Function: file.directory
155 7 Bruno Boiget
        Name: /tmp/titi
156 7 Bruno Boiget
      Result: True
157 7 Bruno Boiget
     Comment: Directory /tmp/titi updated
158 7 Bruno Boiget
     Started: 17:51:19.345197
159 7 Bruno Boiget
    Duration: 1.412 ms
160 7 Bruno Boiget
     Changes:   
161 7 Bruno Boiget
              ----------
162 7 Bruno Boiget
              /tmp/titi:
163 7 Bruno Boiget
                  New Dir
164 7 Bruno Boiget
165 7 Bruno Boiget
Summary for local
166 7 Bruno Boiget
------------
167 7 Bruno Boiget
Succeeded: 2 (changed=2)
168 7 Bruno Boiget
169 7 Bruno Boiget
</pre>