24 » Historique » Version 28
« Précédent -
Version 28/40
(diff) -
Suivant » -
Version actuelle
Joël Cuissinat, 12/06/2013 18:07
Eole-2.4¶
- Eole-2.4
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)
- 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)
- host, fstab, firewall : gestion avancée des conteneurs (cf. #4666)
Templates¶
Les templates 2.3 sont théoriquement fonctionnels sur 2.4.
Évidemment certains devront certainement être mis à niveau.
Utilisation de "creole_client"¶
Les fonctionnalités de creole_client sont utilisables directement dans les templates
%%creole_client.get_creole('activer_truc', 'non')
Utilisation d'attribut ".value"¶
L'attribut ".value" ne devrait plus être utilisé dans les templates 2.4.
Utilisation d'attribut ".index"¶
L'attribut ".index" ne devrait plus être utilisé dans les templates 2.4.
La fonction "enumerate" peut être utilisée pour remplacer le code existant :
%for %%idx, %%val in %%enumerate(%%variable) La valeur %%val possède l'index %%idx %end for
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
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
Mise à jour¶
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/MajAuto24
CreoleLint¶
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/creole/wiki/CreoleLint24
Gestion des Locks¶
http://dev-eole.ac-dijon.fr/projects/creole/wiki/Lock24
Programmation shell¶
CreoleGet¶
.ParseDico echo $mavariable
est remplacé par :
echo $(CreoleGet mavariable)
ATTENTION : à ce jour, pour accéder à une variable esclave, il faut connaître la variable maître :
echo $(CreoleGet lamaster.lesclave)
CreoleRun¶
./usr/share/eole/FonctionsEoleNg RunCmd "ma -commande" conteneur
est remplacé par :
CreoleRun "ma -commande" conteneur
Interactions avec l'utilisateur¶
. /usr/lib/eole/ihm.sh EchoRouge "Attention" Question_ouinon "Êtes-vous bien sûr de vouloir faire cela ?"
Tests système¶
. /usr/lib/eole/diagnose.sh TestService "mon SSH" localhost:22
Programmation python¶
CreoleClient¶
Obtenir la valeur d'une variable¶
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']
est remplacé par :
from creole import client dico = client.CreoleClient() print dico.get_creole('nom_machine') print dico.get_creole('container_path_annuaire')
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 :
if dico.get_creole('activer_service', 'non') == 'oui': print "On est sûr que oui"
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).
from creole.client import CreoleClient dico = CreoleClient().get_creole() ip_locale = dico['adresse_ip_eth0']
Migration¶
eole-web¶
- /etc/apache2/sites-enable/scribe est à supprimer (dans le conteneur)
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
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
Packaging¶
Portage des projets vers 2.4 et packaging 2.4¶
cf. page dédiée : http://dev-eole.ac-dijon.fr/projects/eole/wiki/EoleDebianPackaging24
Nommage des paquets¶
Premières conclusions issues de la discussion #3096
- Paquets de base
- module non conteneur : eole-server (remplace eole-common)
- module conteneur : eole-lxc-controller (remplace eole-conteneur)
- Paquets de service
- dicos/templates : eole-<service>
- dépendances : eole-<service>-pkg (au lieu de <service>-pkg)
- Paquets de module
- méta-paquet de module : eole-<nom_module>-module (remplace <nom_module>-pkg)
- dicos/templates : eole-<nom_module> (remplace conf-<nom_module>)
- dépendances (pour modules non conteneur) : ?