24 » Historique » Version 40
Joël Cuissinat, 11/06/2014 17:40
1 | 1 | Joël Cuissinat | h1. Eole-2.4 |
---|---|---|---|
2 | 14 | Joël Cuissinat | |
3 | 36 | Daniel Dehennin | {{>toc}} |
4 | 36 | Daniel Dehennin | |
5 | 36 | Daniel Dehennin | h2. Normalisation de l’arborescence source |
6 | 36 | Daniel Dehennin | |
7 | 36 | Daniel Dehennin | Prérequis aux packaging 2.4: skeletorisation des sources. |
8 | 1 | Joël Cuissinat | |
9 | 1 | Joël Cuissinat | h2. Dictionnaires |
10 | 1 | Joël Cuissinat | |
11 | 1 | Joël Cuissinat | Les dictionnaires 2.3 sont théoriquement fonctionnels sur 2.4, merci de remonter les éventuels dysfonctionnements rencontrés ! |
12 | 1 | Joël Cuissinat | La plupart des variables "intermédiaires" peuvent théoriquement être supprimées (exemple : "maj du dico nut":http://dev-eole.ac-dijon.fr/projects/eole-nut/repository/revisions/5620af7f9b21444c1b873ee9b7fe0414aee468ee/diff/dicos/01_nut.xml) |
13 | 1 | Joël Cuissinat | |
14 | 8 | Joël Cuissinat | La version 2.4 apporte de nouvelles notions et notamment : |
15 | 8 | Joël Cuissinat | * *disabled* : pour des variables désactivées (cf. http://dev-eole.ac-dijon.fr/projects/tiramisu/wiki/RequiredEtDisabled) |
16 | 8 | Joël Cuissinat | * *frozen* : pour des variables non modifiables une fois initialisées (cf. #1328) |
17 | 24 | Joël Cuissinat | * *host*, *fstab*, *firewall* : gestion avancée des conteneurs (cf. #4666) |
18 | 8 | Joël Cuissinat | |
19 | 32 | Fabrice Barconnière | h3. Les types Creole |
20 | 32 | Fabrice Barconnière | |
21 | 32 | Fabrice Barconnière | cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/TypeCreole24 |
22 | 32 | Fabrice Barconnière | |
23 | 32 | Fabrice Barconnière | h3. Les conteneurs |
24 | 32 | Fabrice Barconnière | |
25 | 32 | Fabrice Barconnière | Ajouter une balise dans la partie <containers> et <files> des dictionnaires : |
26 | 32 | Fabrice Barconnière | cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/AjouterUneBaliseContainers24 |
27 | 32 | Fabrice Barconnière | |
28 | 33 | Fabrice Barconnière | h3. Gestion du firewall |
29 | 33 | Fabrice Barconnière | |
30 | 33 | Fabrice Barconnière | cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/firewall24 |
31 | 33 | Fabrice Barconnière | |
32 | 1 | Joël Cuissinat | h2. Templates |
33 | 1 | Joël Cuissinat | |
34 | 2 | Joël Cuissinat | Les templates 2.3 sont théoriquement fonctionnels sur 2.4. |
35 | 2 | Joël Cuissinat | Évidemment certains devront certainement être mis à niveau. |
36 | 1 | Joël Cuissinat | |
37 | 28 | Joël Cuissinat | h3. Utilisation de "creole_client" |
38 | 28 | Joël Cuissinat | |
39 | 28 | Joël Cuissinat | Les fonctionnalités de *creole_client* sont utilisables directement dans les templates |
40 | 28 | Joël Cuissinat | <pre> |
41 | 28 | Joël Cuissinat | %%creole_client.get_creole('activer_truc', 'non') |
42 | 28 | Joël Cuissinat | </pre> |
43 | 28 | Joël Cuissinat | |
44 | 31 | Joël Cuissinat | Cependant, en pratique, cet exemple peut avantageusement être remplacé en utilisant la fonction native *%%getVar* : |
45 | 31 | Joël Cuissinat | <pre> |
46 | 31 | Joël Cuissinat | %%getVar('activer_truc', 'non') |
47 | 31 | Joël Cuissinat | </pre> |
48 | 31 | Joël Cuissinat | |
49 | 31 | Joël Cuissinat | |
50 | 29 | Joël Cuissinat | h3. Utilisation de l'attribut ".value" |
51 | 28 | Joël Cuissinat | |
52 | 28 | Joël Cuissinat | L'attribut ".value" ne devrait plus être utilisé dans les templates 2.4. |
53 | 28 | Joël Cuissinat | |
54 | 30 | Joël Cuissinat | h3. Utilisation de l'attribut ".index" |
55 | 28 | Joël Cuissinat | |
56 | 28 | Joël Cuissinat | L'attribut ".index" ne devrait plus être utilisé dans les templates 2.4. |
57 | 28 | Joël Cuissinat | La fonction "enumerate" peut être utilisée pour remplacer le code existant : |
58 | 28 | Joël Cuissinat | <pre> |
59 | 28 | Joël Cuissinat | %for %%idx, %%val in %%enumerate(%%variable) |
60 | 28 | Joël Cuissinat | La valeur %%val possède l'index %%idx |
61 | 28 | Joël Cuissinat | %end for |
62 | 28 | Joël Cuissinat | </pre> |
63 | 28 | Joël Cuissinat | |
64 | 4 | Joël Cuissinat | h2. Fichier de configuration |
65 | 4 | Joël Cuissinat | |
66 | 4 | Joël Cuissinat | Désormais, seul le fichier */etc/eole/config.eol* fait foi. |
67 | 4 | Joël Cuissinat | |
68 | 4 | Joël Cuissinat | Il est automatiquement chargé par les programmes : |
69 | 4 | Joël Cuissinat | * gen_config |
70 | 4 | Joël Cuissinat | * instance |
71 | 4 | Joël Cuissinat | * reconfigure |
72 | 4 | Joël Cuissinat | |
73 | 6 | Joël Cuissinat | h2. Nouveaux chemins |
74 | 6 | Joël Cuissinat | |
75 | 6 | Joël Cuissinat | * */usr/lib/eole* : librairies EOLE (remplacent _FonctionsEoleNg_) |
76 | 6 | Joël Cuissinat | * */usr/share/eole/sbin* : scripts EOLE |
77 | 6 | Joël Cuissinat | * */usr/share/eole/diagnose* : scripts diagnose (plus de sous-répertoires) |
78 | 6 | Joël Cuissinat | |
79 | 9 | Joël Cuissinat | Au niveau des dépôts de code, ces répertoires sont nativement gérés par "eole-skeletor":http://dev-eole.ac-dijon.fr/projects/eole-skeletor/wiki/Doc-geting-started |
80 | 5 | Joël Cuissinat | |
81 | 5 | Joël Cuissinat | h2. Mise à jour |
82 | 5 | Joël Cuissinat | |
83 | 5 | Joël Cuissinat | cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/MajAuto24 |
84 | 11 | Joël Cuissinat | |
85 | 11 | Joël Cuissinat | h2. CreoleLint |
86 | 11 | Joël Cuissinat | |
87 | 11 | Joël Cuissinat | cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/CreoleLint24 |
88 | 1 | Joël Cuissinat | |
89 | 32 | Fabrice Barconnière | h2. Gestion des Locks |
90 | 20 | Emmanuel GARETTE | |
91 | 1 | Joël Cuissinat | http://dev-eole.ac-dijon.fr/projects/creole/wiki/Lock24 |
92 | 32 | Fabrice Barconnière | |
93 | 32 | Fabrice Barconnière | h2. Gestion des schedules (Mises à jour automatiques par exemple) |
94 | 32 | Fabrice Barconnière | |
95 | 32 | Fabrice Barconnière | cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/Schedule24 |
96 | 32 | Fabrice Barconnière | |
97 | 32 | Fabrice Barconnière | |
98 | 20 | Emmanuel GARETTE | |
99 | 1 | Joël Cuissinat | h2. Programmation shell |
100 | 1 | Joël Cuissinat | |
101 | 1 | Joël Cuissinat | h3. CreoleGet |
102 | 1 | Joël Cuissinat | |
103 | 1 | Joël Cuissinat | <pre> |
104 | 1 | Joël Cuissinat | .ParseDico |
105 | 1 | Joël Cuissinat | echo $mavariable |
106 | 1 | Joël Cuissinat | </pre> |
107 | 1 | Joël Cuissinat | est remplacé par : |
108 | 1 | Joël Cuissinat | <pre> |
109 | 1 | Joël Cuissinat | echo $(CreoleGet mavariable) |
110 | 1 | Joël Cuissinat | </pre> |
111 | 1 | Joël Cuissinat | |
112 | 1 | Joël Cuissinat | ATTENTION : à ce jour, pour accéder à une variable esclave, il faut connaître la variable maître : |
113 | 1 | Joël Cuissinat | <pre> |
114 | 1 | Joël Cuissinat | echo $(CreoleGet lamaster.lesclave) |
115 | 1 | Joël Cuissinat | </pre> |
116 | 1 | Joël Cuissinat | |
117 | 34 | Joël Cuissinat | Depuis #6075 (alpha2), si on n'est pas sûr que la variable existe ou qu'elle soit active, on peut utiliser : |
118 | 34 | Joël Cuissinat | <pre> |
119 | 34 | Joël Cuissinat | echo $(CreoleGet mavariable valeurpardefaut) |
120 | 34 | Joël Cuissinat | </pre> |
121 | 34 | Joël Cuissinat | |
122 | 1 | Joël Cuissinat | h3. CreoleRun |
123 | 1 | Joël Cuissinat | |
124 | 1 | Joël Cuissinat | <pre> |
125 | 1 | Joël Cuissinat | ./usr/share/eole/FonctionsEoleNg |
126 | 1 | Joël Cuissinat | RunCmd "ma -commande" conteneur |
127 | 1 | Joël Cuissinat | </pre> |
128 | 1 | Joël Cuissinat | est remplacé par : |
129 | 3 | Joël Cuissinat | <pre> |
130 | 1 | Joël Cuissinat | CreoleRun "ma -commande" conteneur |
131 | 1 | Joël Cuissinat | </pre> |
132 | 7 | Joël Cuissinat | |
133 | 7 | Joël Cuissinat | h3. Interactions avec l'utilisateur |
134 | 7 | Joël Cuissinat | |
135 | 7 | Joël Cuissinat | <pre> |
136 | 7 | Joël Cuissinat | . /usr/lib/eole/ihm.sh |
137 | 7 | Joël Cuissinat | EchoRouge "Attention" |
138 | 7 | Joël Cuissinat | Question_ouinon "Êtes-vous bien sûr de vouloir faire cela ?" |
139 | 7 | Joël Cuissinat | </pre> |
140 | 7 | Joël Cuissinat | |
141 | 7 | Joël Cuissinat | h3. Tests système |
142 | 7 | Joël Cuissinat | |
143 | 7 | Joël Cuissinat | <pre> |
144 | 7 | Joël Cuissinat | . /usr/lib/eole/diagnose.sh |
145 | 7 | Joël Cuissinat | TestService "mon SSH" localhost:22 |
146 | 7 | Joël Cuissinat | </pre> |
147 | 7 | Joël Cuissinat | |
148 | 10 | Joël Cuissinat | h2. Programmation python |
149 | 10 | Joël Cuissinat | |
150 | 15 | Joël Cuissinat | h3. CreoleClient |
151 | 15 | Joël Cuissinat | |
152 | 21 | Joël Cuissinat | h4. Obtenir la valeur d'une variable |
153 | 21 | Joël Cuissinat | |
154 | 15 | Joël Cuissinat | <pre> |
155 | 15 | Joël Cuissinat | from creole import parsedico |
156 | 16 | Joël Cuissinat | from creole.eosfunc import load_container_var |
157 | 15 | Joël Cuissinat | dico = parsedico.parse_dico() |
158 | 15 | Joël Cuissinat | print dico['nom_machine'] |
159 | 16 | Joël Cuissinat | conteneurs = load_container_var() |
160 | 16 | Joël Cuissinat | print conteneurs['container_path_annuaire'] |
161 | 15 | Joël Cuissinat | </pre> |
162 | 1 | Joël Cuissinat | |
163 | 17 | Joël Cuissinat | est remplacé par : |
164 | 1 | Joël Cuissinat | |
165 | 1 | Joël Cuissinat | <pre> |
166 | 1 | Joël Cuissinat | from creole import client |
167 | 16 | Joël Cuissinat | dico = client.CreoleClient() |
168 | 16 | Joël Cuissinat | print dico.get_creole('nom_machine') |
169 | 16 | Joël Cuissinat | print dico.get_creole('container_path_annuaire') |
170 | 21 | Joël Cuissinat | </pre> |
171 | 21 | Joël Cuissinat | |
172 | 26 | Joël Cuissinat | Dans le cas où l'on n'est pas sûr de l'existence de la variable, une valeur par défaut peut être passée en second paramètre : |
173 | 26 | Joël Cuissinat | |
174 | 26 | Joël Cuissinat | <pre> |
175 | 26 | Joël Cuissinat | if dico.get_creole('activer_service', 'non') == 'oui': |
176 | 26 | Joël Cuissinat | print "On est sûr que oui" |
177 | 26 | Joël Cuissinat | </pre> |
178 | 26 | Joël Cuissinat | |
179 | 21 | Joël Cuissinat | h4. Obtenir le dictionnaire des variables |
180 | 21 | Joël Cuissinat | |
181 | 21 | Joël Cuissinat | L'utilisation de _get_creole_ sans argument, permet d'obtenir un dictionnaire des variables similaire à celui de la 2.3 et ainsi de (re)faire fonctionner d'anciennes applications sans modifications de code majeures (exemple pour l'EAD). |
182 | 21 | Joël Cuissinat | |
183 | 38 | Bruno Boiget | *Attention*, dans le cas des variables de type 'esclave', la clé dans le dictionnaire est au format suivant : 'nom_var_maître.nom_var_esclave' |
184 | 38 | Bruno Boiget | |
185 | 21 | Joël Cuissinat | <pre> |
186 | 22 | Joël Cuissinat | from creole.client import CreoleClient |
187 | 21 | Joël Cuissinat | dico = CreoleClient().get_creole() |
188 | 21 | Joël Cuissinat | ip_locale = dico['adresse_ip_eth0'] |
189 | 15 | Joël Cuissinat | </pre> |
190 | 1 | Joël Cuissinat | |
191 | 39 | Joël Cuissinat | h3. Exemples en mode avancé |
192 | 39 | Joël Cuissinat | |
193 | 39 | Joël Cuissinat | * Récupérer les "settings" d'une variable : #7996 |
194 | 39 | Joël Cuissinat | * Importer une configuration manuellement : |
195 | 39 | Joël Cuissinat | <pre> |
196 | 39 | Joël Cuissinat | from creole.loader import creole_loader |
197 | 39 | Joël Cuissinat | creole_loader(force_configeol="/tmp/ssh_eth0.eol") |
198 | 39 | Joël Cuissinat | </pre> |
199 | 39 | Joël Cuissinat | |
200 | 39 | Joël Cuissinat | |
201 | 1 | Joël Cuissinat | h2. Migration |
202 | 1 | Joël Cuissinat | |
203 | 1 | Joël Cuissinat | h3. eole-web |
204 | 1 | Joël Cuissinat | |
205 | 12 | Emmanuel GARETTE | * */etc/apache2/sites-enable/scribe* est à supprimer (dans le conteneur) |
206 | 1 | Joël Cuissinat | |
207 | 13 | Joël Cuissinat | h3. eole-common |
208 | 1 | Joël Cuissinat | |
209 | 18 | Emmanuel GARETTE | * 01_network.xml : |
210 | 18 | Emmanuel GARETTE | # la valeur "aucun" de la variable *alias_gw_eth?* est remplacée par _None_ |
211 | 18 | Emmanuel GARETTE | # :%s/adresse_ip_vlan_eth/vlan_ip_eth/g |
212 | 18 | Emmanuel GARETTE | # :%s/adresse_netmask_vlan_eth/vlan_netmask_eth/g |
213 | 18 | Emmanuel GARETTE | # :%s/adresse_network_vlan_eth/vlan_network_eth/g |
214 | 18 | Emmanuel GARETTE | # :%s/adresse_broadcast_vlan_eth/vlan_broadcast_eth/g |
215 | 18 | Emmanuel GARETTE | # :%s/adresse_gw_vlan_eth/vlan_gw_eth/g |
216 | 19 | Emmanuel GARETTE | # :%s/id_vlan_eth/vlan_id_eth/g |
217 | 18 | Emmanuel GARETTE | # la valeur "aucun" de la variable *vlan_gw_eth?* est remplacée par _None_ |
218 | 13 | Joël Cuissinat | |
219 | 23 | Joël Cuissinat | h3. eole-dhcp |
220 | 23 | Joël Cuissinat | |
221 | 23 | Joël Cuissinat | * /etc/dhcp3 -> /etc/dhcp |
222 | 23 | Joël Cuissinat | * /etc/init.d/dhcp3-server -> /etc/init.d/isc-dhcp-server |
223 | 23 | Joël Cuissinat | * mais pas de problème spécifique puisque pour les adresses fixées, c'est toujours */var/lib/eole/config/dhcp.conf* qui fait foi |
224 | 13 | Joël Cuissinat | |
225 | 37 | Joël Cuissinat | h3. Script d'Upgrade 2.3 -> 2.4 |
226 | 37 | Joël Cuissinat | |
227 | 37 | Joël Cuissinat | Voir page dédiée : [[Upgrade-Auto-24]] |
228 | 37 | Joël Cuissinat | |
229 | 13 | Joël Cuissinat | h2. Packaging |
230 | 25 | Joël Cuissinat | |
231 | 25 | Joël Cuissinat | h3. Portage des projets vers 2.4 et packaging 2.4 |
232 | 13 | Joël Cuissinat | |
233 | 35 | Emmanuel GARETTE | cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/eole/wiki/PrepareEOLE24 |
234 | 25 | Joël Cuissinat | |
235 | 25 | Joël Cuissinat | h3. Nommage des paquets |
236 | 25 | Joël Cuissinat | |
237 | 25 | Joël Cuissinat | _Premières conclusions issues de la discussion #3096_ |
238 | 25 | Joël Cuissinat | |
239 | 25 | Joël Cuissinat | * Paquets de base |
240 | 25 | Joël Cuissinat | ** module non conteneur : *eole-server* (remplace eole-common) |
241 | 25 | Joël Cuissinat | ** module conteneur : *eole-lxc-controller* (remplace eole-conteneur) |
242 | 25 | Joël Cuissinat | * Paquets de service |
243 | 25 | Joël Cuissinat | ** dicos/templates : *eole-<service>* |
244 | 25 | Joël Cuissinat | ** dépendances : *eole-<service>-pkg* (au lieu de <service>-pkg) |
245 | 27 | Joël Cuissinat | * Paquets de module |
246 | 27 | Joël Cuissinat | ** méta-paquet de module : *eole-<nom_module>-module* (remplace <nom_module>-pkg) |
247 | 1 | Joël Cuissinat | ** dicos/templates : *eole-<nom_module>* (remplace conf-<nom_module>) |
248 | 40 | Joël Cuissinat | ** dépendances (pour modules non conteneur) : *eole-<nom_module>-all* |