Projet

Général

Profil

24 » Historique » Version 29

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

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