Projet

Général

Profil

24 » Historique » Version 28

Joël Cuissinat, 12/06/2013 18:07

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