Projet

Général

Profil

EnvoleMigration23 » Historique » Version 16

Gaston TJEBBES, 29/07/2010 14:49

1 15 Gaston TJEBBES
h1. Migration d'Envole vers la version Eole2.3
2 1 Gaston TJEBBES
3 10 Gaston TJEBBES
{{toc}}
4 10 Gaston TJEBBES
5 9 Gaston TJEBBES
Les étapes :
6 9 Gaston TJEBBES
* Mettre les dictionnaires à jour;
7 9 Gaston TJEBBES
* Renommer éventuellement les variables pour revenir à quelque chose de standardisé;
8 9 Gaston TJEBBES
* Séparer les paquets conf des paquets applications (container cible différent);
9 9 Gaston TJEBBES
* Mettre les conf sql au gout du jour.
10 1 Gaston TJEBBES
11 10 Gaston TJEBBES
h2. Les choses en vrac : 
12 1 Gaston TJEBBES
13 9 Gaston TJEBBES
* Renommer toutes les variables qui se nomme posh... en envole...;
14 16 Gaston TJEBBES
* Revoir les adresses localhost ou 127.0.0.1 (ldap et mysql ne sont plus joignables par ces adresses);
15 9 Gaston TJEBBES
* Avoir une structure de dépendances cohérente (le sso est sur le maître, pas dans le container web ...);
16 9 Gaston TJEBBES
* Le nom de domaine s'appelle désormais web_domain au lieu de posh_url ou envole_url ...;
17 9 Gaston TJEBBES
* Revoir l'utilisation des répertoires de /home discussion entamée avec Manu (il est possible de fournir un template qui indique à bacula les rep à sauvegarder);
18 9 Gaston TJEBBES
* Un maximum de manipulation doivent être effectuées depuis le master (script de configuration / synchro ...), cela évite de demander à un utilisateur de se connecter sur un container.
19 1 Gaston TJEBBES
20 9 Gaston TJEBBES
h2. Étape 1 : le dictionnaire
21 1 Gaston TJEBBES
22 9 Gaston TJEBBES
Dans le dictionnaire, il faut : 
23 9 Gaston TJEBBES
* Identifier les fichiers qui vont dans le master et ceux qui vont dans le container web (gibii peut être pris en exemple);
24 1 Gaston TJEBBES
* Penser à mettre le package nomdelappli-apps pour qu'il soit tiré dans le conteneur (nomdelappli-apps);
25 16 Gaston TJEBBES
* Renommer éventuellement les variables (scribe_envole_nomdelappli);
26 9 Gaston TJEBBES
* Revoir les chemins vers les fichiers .sql qui sont templatisés (cf étape 4).
27 9 Gaston TJEBBES
28 1 Gaston TJEBBES
h2. Étape 2 : les templates
29 1 Gaston TJEBBES
30 10 Gaston TJEBBES
Les modifications à apporter au templates :
31 10 Gaston TJEBBES
* le renommage de variable entraîne logiquement des changements;
32 10 Gaston TJEBBES
* la modification des adresses des services (ldap n'est plus sur le master, ftp non plus)
33 10 Gaston TJEBBES
* Certaines variables ont été renommées :
34 10 Gaston TJEBBES
** le nom de domaine est fournit par une variable unique : web_domain (fournit par le paquet eole-web)
35 1 Gaston TJEBBES
** l'url par défaut d'accès est fournit par la variable : web_default (fournit par le paquet eole-web)
36 16 Gaston TJEBBES
** l'adresse du serveur mysql est fournit par : adresse_ip_mysql      (fournit par le paquet eole-mysql)
37 16 Gaston TJEBBES
** l'adresse du serveur ldap est fournit par  : adresse_ip_fichier    (fournit par le paquet eole-fichier)
38 1 Gaston TJEBBES
39 9 Gaston TJEBBES
h2. Étape 3:  la division des paquets
40 1 Gaston TJEBBES
41 9 Gaston TJEBBES
Il faut désormais deux paquets pour une application :
42 9 Gaston TJEBBES
* eole-nomdelappli contient les templates, les dictionnaires, scripts de configuration et s'installe dans le container master;
43 9 Gaston TJEBBES
* nomdelappli-apps contient l'application elle-même et s'installe dans le container web.
44 1 Gaston TJEBBES
45 9 Gaston TJEBBES
Il faut modifier : 
46 9 Gaston TJEBBES
* debian/compat et mettre 5 au lieu de 4;
47 9 Gaston TJEBBES
* debian/control pour décrire le paquet source et ses paquets binaires;
48 9 Gaston TJEBBES
* debian/rules pour que DESTDIR ne contienne plus le nom du paquet;
49 9 Gaston TJEBBES
* Makefile pour la séparation des paquets.
50 1 Gaston TJEBBES
51 9 Gaston TJEBBES
NB 1 les dépendances : 
52 9 Gaston TJEBBES
* eole-monappli doit avoir eolebase-minimal dans ses deps, éventuellement eole-sso, eole-mysql
53 9 Gaston TJEBBES
* monappli-apps doit avoir web-pkg dans ses dépendances
54 1 Gaston TJEBBES
55 9 Gaston TJEBBES
NB 2 DESTDIR dans le makefile :
56 9 Gaston TJEBBES
Une fois la modification faite dans le fichier debian/rules, le DESTDIR obtenu dans le Makefile doit être concaténé pour former les DESTDIR des deux paquets binaires. (C'est comme cela que l'on fait plusieurs paquets avec un seul Makefile :-))
57 9 Gaston TJEBBES
Ex : 
58 9 Gaston TJEBBES
<pre>
59 9 Gaston TJEBBES
EOLE_GIBII_DESTDIR=$(DESTDIR)/eole-gibii
60 9 Gaston TJEBBES
GIBII_APPS_DESTDIR=$(DESTDIR)/gibii-apps
61 9 Gaston TJEBBES
</pre>
62 7 Gaston TJEBBES
63 9 Gaston TJEBBES
h2. Étape 4 : Mysql
64 8 Gaston TJEBBES
65 1 Gaston TJEBBES
La gestion des bases de données mysql doit être revue (où quand, comment) ?
66 8 Gaston TJEBBES
67 8 Gaston TJEBBES
Un soucis rencontré jusqu'à présent est la difficulté à retrouver les fichiers .sql.
68 8 Gaston TJEBBES
Voici une proposition de nomenclature envisagée pour placer les fichiers.
69 8 Gaston TJEBBES
70 8 Gaston TJEBBES
h3. Fichier de configuration
71 8 Gaston TJEBBES
72 8 Gaston TJEBBES
Les fichiers ont la même destination, on peut imaginer une structure comme celle-ci
73 13 Gaston TJEBBES
<pre>
74 12 Gaston TJEBBES
75 8 Gaston TJEBBES
fichier dans le dépot                        ->    fichier sur le serveur
76 8 Gaston TJEBBES
77 8 Gaston TJEBBES
mysql/conf/gen/monappli.py                   ->   /usr/share/eole/applications/gen/monappli.py
78 7 Gaston TJEBBES
mysql/conf/passwords/monappli.ini            ->   /usr/share/eole/applications/passwords/monappli.ini
79 1 Gaston TJEBBES
mysql/conf/updates/config.py                 ->   /usr/share/eole/applications/updates/.../config.py
80 11 Gaston TJEBBES
</pre>
81 9 Gaston TJEBBES
82 1 Gaston TJEBBES
h3. Les fichiers .sql 
83 10 Gaston TJEBBES
84 11 Gaston TJEBBES
<pre>
85 1 Gaston TJEBBES
mysql/files/gen/fichiers.sql                 ->   /usr/share/eole/mysql/<nomdelappli>/gen/fichiers.sql
86 7 Gaston TJEBBES
mysql/files/updates/fichiers.sql             ->   /usr/share/eole/mysql/<nomdelappli>/updates/fichiers.sql
87 11 Gaston TJEBBES
</pre>
88 7 Gaston TJEBBES
89 10 Gaston TJEBBES
h3. Impact des modifications 
90 9 Gaston TJEBBES
91 14 Gaston TJEBBES
* Les dicos contiennent les chemins vers les fichiers .sql
92 10 Gaston TJEBBES
* Les fichiers de configuration de génération et d'updates doivent être mis au goût du jour (chemin vers les fichiers sql);
93 1 Gaston TJEBBES
* le Makefile doit tenir compte des modifications. (ça doit être à peu près tout en attendant la modification de eole-mysql).
94 15 Gaston TJEBBES
95 15 Gaston TJEBBES
h2. L'arbre des dépendances
96 15 Gaston TJEBBES
97 15 Gaston TJEBBES
Il va falloir réfléchir aux meta paquets :
98 15 Gaston TJEBBES
* envole-pkg;
99 15 Gaston TJEBBES
* envole-extras-pkg.