24 » Historique » Version 23
Version 22 (Joël Cuissinat, 04/01/2013 11:07) → Version 23/40 (Joël Cuissinat, 04/01/2013 11:39)
h1. Eole-2.4
{{>toc}}
h2. Dictionnaires
Les dictionnaires 2.3 sont théoriquement fonctionnels sur 2.4, merci de remonter les éventuels dysfonctionnements rencontrés !
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)
La version 2.4 apporte de nouvelles notions et notamment :
* *disabled* : pour des variables désactivées (cf. http://dev-eole.ac-dijon.fr/projects/tiramisu/wiki/RequiredEtDisabled)
* *frozen* : pour des variables non modifiables une fois initialisées (cf. #1328)
h2. Templates
Les templates 2.3 sont théoriquement fonctionnels sur 2.4.
Évidemment certains devront certainement être mis à niveau.
h2. Fichier de configuration
Désormais, seul le fichier */etc/eole/config.eol* fait foi.
Il est automatiquement chargé par les programmes :
* gen_config
* instance
* reconfigure
h2. Nouveaux chemins
* */usr/lib/eole* : librairies EOLE (remplacent _FonctionsEoleNg_)
* */usr/share/eole/sbin* : scripts EOLE
* */usr/share/eole/diagnose* : scripts diagnose (plus de sous-répertoires)
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
h2. Mise à jour
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/MajAuto24
h2. CreoleLint
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/CreoleLint24
h3. Gestion des Locks
http://dev-eole.ac-dijon.fr/projects/creole/wiki/Lock24
h2. Programmation shell
h3. CreoleGet
<pre>
.ParseDico
echo $mavariable
</pre>
est remplacé par :
<pre>
echo $(CreoleGet mavariable)
</pre>
ATTENTION : à ce jour, pour accéder à une variable esclave, il faut connaître la variable maître :
<pre>
echo $(CreoleGet lamaster.lesclave)
</pre>
h3. CreoleRun
<pre>
./usr/share/eole/FonctionsEoleNg
RunCmd "ma -commande" conteneur
</pre>
est remplacé par :
<pre>
CreoleRun "ma -commande" conteneur
</pre>
h3. Interactions avec l'utilisateur
<pre>
. /usr/lib/eole/ihm.sh
EchoRouge "Attention"
Question_ouinon "Êtes-vous bien sûr de vouloir faire cela ?"
</pre>
h3. Tests système
<pre>
. /usr/lib/eole/diagnose.sh
TestService "mon SSH" localhost:22
</pre>
h2. Programmation python
h3. CreoleClient
h4. Obtenir la valeur d'une variable
<pre>
from creole import parsedico
from creole.eosfunc import load_container_var
dico = parsedico.parse_dico()
print dico['nom_machine']
conteneurs = load_container_var()
print conteneurs['container_path_annuaire']
</pre>
est remplacé par :
<pre>
from creole import client
dico = client.CreoleClient()
print dico.get_creole('nom_machine')
print dico.get_creole('container_path_annuaire')
</pre>
h4. Obtenir le dictionnaire des variables
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).
<pre>
from creole.client import CreoleClient
dico = CreoleClient().get_creole()
ip_locale = dico['adresse_ip_eth0']
</pre>
h2. Migration
h3. eole-web
* */etc/apache2/sites-enable/scribe* est à supprimer (dans le conteneur)
h3. eole-common
* 01_network.xml :
# la valeur "aucun" de la variable *alias_gw_eth?* est remplacée par _None_
# :%s/adresse_ip_vlan_eth/vlan_ip_eth/g
# :%s/adresse_netmask_vlan_eth/vlan_netmask_eth/g
# :%s/adresse_network_vlan_eth/vlan_network_eth/g
# :%s/adresse_broadcast_vlan_eth/vlan_broadcast_eth/g
# :%s/adresse_gw_vlan_eth/vlan_gw_eth/g
# :%s/id_vlan_eth/vlan_id_eth/g
# la valeur "aucun" de la variable *vlan_gw_eth?* est remplacée par _None_
h3. eole-dhcp
* /etc/dhcp3 -> /etc/dhcp
* /etc/init.d/dhcp3-server -> /etc/init.d/isc-dhcp-server
* 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
h2. Packaging
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/eole/wiki/EoleDebianPackaging24
{{>toc}}
h2. Dictionnaires
Les dictionnaires 2.3 sont théoriquement fonctionnels sur 2.4, merci de remonter les éventuels dysfonctionnements rencontrés !
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)
La version 2.4 apporte de nouvelles notions et notamment :
* *disabled* : pour des variables désactivées (cf. http://dev-eole.ac-dijon.fr/projects/tiramisu/wiki/RequiredEtDisabled)
* *frozen* : pour des variables non modifiables une fois initialisées (cf. #1328)
h2. Templates
Les templates 2.3 sont théoriquement fonctionnels sur 2.4.
Évidemment certains devront certainement être mis à niveau.
h2. Fichier de configuration
Désormais, seul le fichier */etc/eole/config.eol* fait foi.
Il est automatiquement chargé par les programmes :
* gen_config
* instance
* reconfigure
h2. Nouveaux chemins
* */usr/lib/eole* : librairies EOLE (remplacent _FonctionsEoleNg_)
* */usr/share/eole/sbin* : scripts EOLE
* */usr/share/eole/diagnose* : scripts diagnose (plus de sous-répertoires)
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
h2. Mise à jour
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/MajAuto24
h2. CreoleLint
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/CreoleLint24
h3. Gestion des Locks
http://dev-eole.ac-dijon.fr/projects/creole/wiki/Lock24
h2. Programmation shell
h3. CreoleGet
<pre>
.ParseDico
echo $mavariable
</pre>
est remplacé par :
<pre>
echo $(CreoleGet mavariable)
</pre>
ATTENTION : à ce jour, pour accéder à une variable esclave, il faut connaître la variable maître :
<pre>
echo $(CreoleGet lamaster.lesclave)
</pre>
h3. CreoleRun
<pre>
./usr/share/eole/FonctionsEoleNg
RunCmd "ma -commande" conteneur
</pre>
est remplacé par :
<pre>
CreoleRun "ma -commande" conteneur
</pre>
h3. Interactions avec l'utilisateur
<pre>
. /usr/lib/eole/ihm.sh
EchoRouge "Attention"
Question_ouinon "Êtes-vous bien sûr de vouloir faire cela ?"
</pre>
h3. Tests système
<pre>
. /usr/lib/eole/diagnose.sh
TestService "mon SSH" localhost:22
</pre>
h2. Programmation python
h3. CreoleClient
h4. Obtenir la valeur d'une variable
<pre>
from creole import parsedico
from creole.eosfunc import load_container_var
dico = parsedico.parse_dico()
print dico['nom_machine']
conteneurs = load_container_var()
print conteneurs['container_path_annuaire']
</pre>
est remplacé par :
<pre>
from creole import client
dico = client.CreoleClient()
print dico.get_creole('nom_machine')
print dico.get_creole('container_path_annuaire')
</pre>
h4. Obtenir le dictionnaire des variables
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).
<pre>
from creole.client import CreoleClient
dico = CreoleClient().get_creole()
ip_locale = dico['adresse_ip_eth0']
</pre>
h2. Migration
h3. eole-web
* */etc/apache2/sites-enable/scribe* est à supprimer (dans le conteneur)
h3. eole-common
* 01_network.xml :
# la valeur "aucun" de la variable *alias_gw_eth?* est remplacée par _None_
# :%s/adresse_ip_vlan_eth/vlan_ip_eth/g
# :%s/adresse_netmask_vlan_eth/vlan_netmask_eth/g
# :%s/adresse_network_vlan_eth/vlan_network_eth/g
# :%s/adresse_broadcast_vlan_eth/vlan_broadcast_eth/g
# :%s/adresse_gw_vlan_eth/vlan_gw_eth/g
# :%s/id_vlan_eth/vlan_id_eth/g
# la valeur "aucun" de la variable *vlan_gw_eth?* est remplacée par _None_
h3. eole-dhcp
* /etc/dhcp3 -> /etc/dhcp
* /etc/init.d/dhcp3-server -> /etc/init.d/isc-dhcp-server
* 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
h2. Packaging
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/eole/wiki/EoleDebianPackaging24