Projet

Général

Profil

24 » Historique » Version 33

Fabrice Barconnière, 03/10/2013 14:53

1 1 Joël Cuissinat
h1. Eole-2.4
2 14 Joël Cuissinat
3 14 Joël Cuissinat
{{>toc}} 
4 1 Joël Cuissinat
5 1 Joël Cuissinat
h2. Dictionnaires
6 1 Joël Cuissinat
7 1 Joël Cuissinat
Les dictionnaires 2.3 sont théoriquement fonctionnels sur 2.4, merci de remonter les éventuels dysfonctionnements rencontrés !
8 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)
9 1 Joël Cuissinat
10 8 Joël Cuissinat
La version 2.4 apporte de nouvelles notions et notamment :
11 8 Joël Cuissinat
* *disabled* : pour des variables désactivées (cf. http://dev-eole.ac-dijon.fr/projects/tiramisu/wiki/RequiredEtDisabled)
12 8 Joël Cuissinat
* *frozen* : pour des variables non modifiables une fois initialisées (cf. #1328)
13 24 Joël Cuissinat
* *host*, *fstab*, *firewall* : gestion avancée des conteneurs (cf. #4666)
14 8 Joël Cuissinat
15 32 Fabrice Barconnière
h3. Les types Creole
16 32 Fabrice Barconnière
17 32 Fabrice Barconnière
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/TypeCreole24
18 32 Fabrice Barconnière
19 32 Fabrice Barconnière
h3. Les conteneurs
20 32 Fabrice Barconnière
21 32 Fabrice Barconnière
Ajouter une balise dans la partie <containers> et <files> des dictionnaires :
22 32 Fabrice Barconnière
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/AjouterUneBaliseContainers24
23 32 Fabrice Barconnière
24 33 Fabrice Barconnière
h3. Gestion du firewall
25 33 Fabrice Barconnière
26 33 Fabrice Barconnière
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/firewall24
27 33 Fabrice Barconnière
28 1 Joël Cuissinat
h2. Templates 
29 1 Joël Cuissinat
30 2 Joël Cuissinat
Les templates 2.3 sont théoriquement fonctionnels sur 2.4.
31 2 Joël Cuissinat
Évidemment certains devront certainement être mis à niveau.
32 1 Joël Cuissinat
33 28 Joël Cuissinat
h3. Utilisation de "creole_client"
34 28 Joël Cuissinat
35 28 Joël Cuissinat
Les fonctionnalités de *creole_client* sont utilisables directement dans les templates
36 28 Joël Cuissinat
<pre>
37 28 Joël Cuissinat
%%creole_client.get_creole('activer_truc', 'non')
38 28 Joël Cuissinat
</pre>
39 28 Joël Cuissinat
40 31 Joël Cuissinat
Cependant, en pratique, cet exemple peut avantageusement être remplacé en utilisant la fonction native *%%getVar* :
41 31 Joël Cuissinat
<pre>
42 31 Joël Cuissinat
%%getVar('activer_truc', 'non')
43 31 Joël Cuissinat
</pre>
44 31 Joël Cuissinat
45 31 Joël Cuissinat
46 29 Joël Cuissinat
h3. Utilisation de l'attribut ".value"
47 28 Joël Cuissinat
48 28 Joël Cuissinat
L'attribut ".value" ne devrait plus être utilisé dans les templates 2.4.
49 28 Joël Cuissinat
50 30 Joël Cuissinat
h3. Utilisation de l'attribut ".index"
51 28 Joël Cuissinat
52 28 Joël Cuissinat
L'attribut ".index" ne devrait plus être utilisé dans les templates 2.4.
53 28 Joël Cuissinat
La fonction "enumerate" peut être utilisée pour remplacer le code existant :
54 28 Joël Cuissinat
<pre>
55 28 Joël Cuissinat
%for %%idx, %%val in %%enumerate(%%variable)
56 28 Joël Cuissinat
La valeur %%val possède l'index %%idx
57 28 Joël Cuissinat
%end for
58 28 Joël Cuissinat
</pre>
59 28 Joël Cuissinat
60 4 Joël Cuissinat
h2. Fichier de configuration
61 4 Joël Cuissinat
62 4 Joël Cuissinat
Désormais, seul le fichier */etc/eole/config.eol* fait foi.
63 4 Joël Cuissinat
64 4 Joël Cuissinat
Il est automatiquement chargé par les programmes :
65 4 Joël Cuissinat
* gen_config
66 4 Joël Cuissinat
* instance 
67 4 Joël Cuissinat
* reconfigure
68 4 Joël Cuissinat
69 6 Joël Cuissinat
h2. Nouveaux chemins 
70 6 Joël Cuissinat
71 6 Joël Cuissinat
* */usr/lib/eole* : librairies EOLE (remplacent _FonctionsEoleNg_)
72 6 Joël Cuissinat
* */usr/share/eole/sbin* : scripts EOLE
73 6 Joël Cuissinat
* */usr/share/eole/diagnose* : scripts diagnose (plus de sous-répertoires)
74 6 Joël Cuissinat
75 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
76 5 Joël Cuissinat
77 5 Joël Cuissinat
h2. Mise à jour 
78 5 Joël Cuissinat
79 5 Joël Cuissinat
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/MajAuto24
80 11 Joël Cuissinat
81 11 Joël Cuissinat
h2. CreoleLint
82 11 Joël Cuissinat
83 11 Joël Cuissinat
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/CreoleLint24
84 1 Joël Cuissinat
85 32 Fabrice Barconnière
h2. Gestion des Locks
86 20 Emmanuel GARETTE
87 1 Joël Cuissinat
http://dev-eole.ac-dijon.fr/projects/creole/wiki/Lock24
88 32 Fabrice Barconnière
89 32 Fabrice Barconnière
h2. Gestion des schedules (Mises à jour automatiques par exemple)
90 32 Fabrice Barconnière
91 32 Fabrice Barconnière
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/Schedule24
92 32 Fabrice Barconnière
93 32 Fabrice Barconnière
94 20 Emmanuel GARETTE
95 1 Joël Cuissinat
h2. Programmation shell
96 1 Joël Cuissinat
97 1 Joël Cuissinat
h3. CreoleGet
98 1 Joël Cuissinat
99 1 Joël Cuissinat
<pre>
100 1 Joël Cuissinat
.ParseDico
101 1 Joël Cuissinat
echo $mavariable
102 1 Joël Cuissinat
</pre>
103 1 Joël Cuissinat
est remplacé par :
104 1 Joël Cuissinat
<pre>
105 1 Joël Cuissinat
echo $(CreoleGet mavariable)
106 1 Joël Cuissinat
</pre>
107 1 Joël Cuissinat
108 1 Joël Cuissinat
ATTENTION : à ce jour, pour accéder à une variable esclave, il faut connaître la variable maître :
109 1 Joël Cuissinat
<pre>
110 1 Joël Cuissinat
echo $(CreoleGet lamaster.lesclave)
111 1 Joël Cuissinat
</pre>
112 1 Joël Cuissinat
113 1 Joël Cuissinat
h3. CreoleRun
114 1 Joël Cuissinat
115 1 Joël Cuissinat
<pre>
116 1 Joël Cuissinat
./usr/share/eole/FonctionsEoleNg
117 1 Joël Cuissinat
RunCmd "ma -commande" conteneur
118 1 Joël Cuissinat
</pre>
119 1 Joël Cuissinat
est remplacé par :
120 3 Joël Cuissinat
<pre>
121 1 Joël Cuissinat
CreoleRun "ma -commande" conteneur
122 1 Joël Cuissinat
</pre>
123 7 Joël Cuissinat
124 7 Joël Cuissinat
h3. Interactions avec l'utilisateur
125 7 Joël Cuissinat
126 7 Joël Cuissinat
<pre>
127 7 Joël Cuissinat
. /usr/lib/eole/ihm.sh
128 7 Joël Cuissinat
EchoRouge "Attention"
129 7 Joël Cuissinat
Question_ouinon "Êtes-vous bien sûr de vouloir faire cela ?"
130 7 Joël Cuissinat
</pre>
131 7 Joël Cuissinat
132 7 Joël Cuissinat
h3. Tests système
133 7 Joël Cuissinat
134 7 Joël Cuissinat
<pre>
135 7 Joël Cuissinat
. /usr/lib/eole/diagnose.sh
136 7 Joël Cuissinat
TestService "mon SSH" localhost:22
137 7 Joël Cuissinat
</pre>
138 7 Joël Cuissinat
139 10 Joël Cuissinat
h2. Programmation python
140 10 Joël Cuissinat
141 15 Joël Cuissinat
h3. CreoleClient
142 15 Joël Cuissinat
143 21 Joël Cuissinat
h4. Obtenir la valeur d'une variable
144 21 Joël Cuissinat
145 15 Joël Cuissinat
<pre>
146 15 Joël Cuissinat
from creole import parsedico
147 16 Joël Cuissinat
from creole.eosfunc import load_container_var
148 15 Joël Cuissinat
dico = parsedico.parse_dico() 
149 15 Joël Cuissinat
print dico['nom_machine']
150 16 Joël Cuissinat
conteneurs = load_container_var()
151 16 Joël Cuissinat
print conteneurs['container_path_annuaire']
152 15 Joël Cuissinat
</pre>
153 1 Joël Cuissinat
154 17 Joël Cuissinat
est remplacé par :
155 1 Joël Cuissinat
156 1 Joël Cuissinat
<pre>
157 1 Joël Cuissinat
from creole import client
158 16 Joël Cuissinat
dico = client.CreoleClient()
159 16 Joël Cuissinat
print dico.get_creole('nom_machine')
160 16 Joël Cuissinat
print dico.get_creole('container_path_annuaire')
161 21 Joël Cuissinat
</pre>
162 21 Joël Cuissinat
163 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 :
164 26 Joël Cuissinat
165 26 Joël Cuissinat
<pre>
166 26 Joël Cuissinat
if dico.get_creole('activer_service', 'non') == 'oui':
167 26 Joël Cuissinat
    print "On est sûr que oui"
168 26 Joël Cuissinat
</pre>
169 26 Joël Cuissinat
170 21 Joël Cuissinat
h4. Obtenir le dictionnaire des variables
171 21 Joël Cuissinat
172 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).
173 21 Joël Cuissinat
174 21 Joël Cuissinat
<pre>
175 22 Joël Cuissinat
from creole.client import CreoleClient
176 21 Joël Cuissinat
dico = CreoleClient().get_creole()
177 21 Joël Cuissinat
ip_locale = dico['adresse_ip_eth0']
178 15 Joël Cuissinat
</pre>
179 1 Joël Cuissinat
180 1 Joël Cuissinat
h2. Migration
181 1 Joël Cuissinat
182 1 Joël Cuissinat
h3. eole-web
183 1 Joël Cuissinat
184 12 Emmanuel GARETTE
* */etc/apache2/sites-enable/scribe* est à supprimer (dans le conteneur)
185 1 Joël Cuissinat
186 13 Joël Cuissinat
h3. eole-common
187 1 Joël Cuissinat
188 18 Emmanuel GARETTE
* 01_network.xml :
189 18 Emmanuel GARETTE
# la valeur "aucun" de la variable *alias_gw_eth?* est remplacée par _None_
190 18 Emmanuel GARETTE
# :%s/adresse_ip_vlan_eth/vlan_ip_eth/g
191 18 Emmanuel GARETTE
# :%s/adresse_netmask_vlan_eth/vlan_netmask_eth/g
192 18 Emmanuel GARETTE
# :%s/adresse_network_vlan_eth/vlan_network_eth/g
193 18 Emmanuel GARETTE
# :%s/adresse_broadcast_vlan_eth/vlan_broadcast_eth/g
194 18 Emmanuel GARETTE
# :%s/adresse_gw_vlan_eth/vlan_gw_eth/g
195 19 Emmanuel GARETTE
# :%s/id_vlan_eth/vlan_id_eth/g
196 18 Emmanuel GARETTE
# la valeur "aucun" de la variable *vlan_gw_eth?* est remplacée par _None_
197 13 Joël Cuissinat
198 23 Joël Cuissinat
h3. eole-dhcp
199 23 Joël Cuissinat
200 23 Joël Cuissinat
* /etc/dhcp3 -> /etc/dhcp
201 23 Joël Cuissinat
* /etc/init.d/dhcp3-server -> /etc/init.d/isc-dhcp-server
202 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
203 13 Joël Cuissinat
204 13 Joël Cuissinat
h2. Packaging
205 25 Joël Cuissinat
206 25 Joël Cuissinat
h3. Portage des projets vers 2.4 et packaging 2.4
207 13 Joël Cuissinat
208 25 Joël Cuissinat
cf. page dédiée :  http://dev-eole.ac-dijon.fr/projects/eole/wiki/EoleDebianPackaging24
209 25 Joël Cuissinat
210 25 Joël Cuissinat
h3. Nommage des paquets
211 25 Joël Cuissinat
212 25 Joël Cuissinat
_Premières conclusions issues de la discussion #3096_
213 25 Joël Cuissinat
214 25 Joël Cuissinat
* Paquets de base
215 25 Joël Cuissinat
** module non conteneur : *eole-server* (remplace eole-common)
216 25 Joël Cuissinat
** module conteneur : *eole-lxc-controller* (remplace eole-conteneur)
217 25 Joël Cuissinat
* Paquets de service
218 25 Joël Cuissinat
** dicos/templates : *eole-<service>* 
219 25 Joël Cuissinat
** dépendances : *eole-<service>-pkg* (au lieu de <service>-pkg)
220 27 Joël Cuissinat
* Paquets de module 
221 27 Joël Cuissinat
** méta-paquet de module : *eole-<nom_module>-module* (remplace <nom_module>-pkg)
222 1 Joël Cuissinat
** dicos/templates : *eole-<nom_module>* (remplace conf-<nom_module>)
223 27 Joël Cuissinat
** dépendances (pour modules non conteneur) : ?