Projet

Général

Profil

24 » Historique » Version 27

Joël Cuissinat, 26/02/2013 10:48

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