Projet

Général

Profil

EnvoleMigration23 » Historique » Version 11

« Précédent - Version 11/40 (diff) - Suivant » - Version actuelle
Gaston TJEBBES, 28/07/2010 17:31


Migration vers la Eole2.3

Les étapes :
  • Mettre les dictionnaires à jour;
  • Renommer éventuellement les variables pour revenir à quelque chose de standardisé;
  • Séparer les paquets conf des paquets applications (container cible différent);
  • Mettre les conf sql au gout du jour.

Les choses en vrac :

  • Renommer toutes les variables qui se nomme posh... en envole...;
  • Avoir une structure de dépendances cohérente (le sso est sur le maître, pas dans le container web ...);
  • Le nom de domaine s'appelle désormais web_domain au lieu de posh_url ou envole_url ...;
  • 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);
  • 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.

Étape 1 : le dictionnaire

Dans le dictionnaire, il faut :
  • Identifier les fichiers qui vont dans le master et ceux qui vont dans le container web (gibii peut être pris en exemple);
  • Penser à mettre le package nomdelappli-apps pour qu'il soit tiré dans le conteneur (nomdelappli-apps);
  • Renommer éventuellement les variables (eole-nomdelappli);
  • Revoir les chemins vers les fichiers .sql qui sont templatisés (cf étape 4).

Étape 2 : les templates

Les modifications à apporter au templates :
  • le renommage de variable entraîne logiquement des changements;
  • la modification des adresses des services (ldap n'est plus sur le master, ftp non plus)
  • Certaines variables ont été renommées :
    • le nom de domaine est fournit par une variable unique : web_domain (fournit par le paquet eole-web)
    • l'url par défaut d'accès est fournit par la variable : web_default (fournit par le paquet eole-web)

Étape 3: la division des paquets

Il faut désormais deux paquets pour une application :
  • eole-nomdelappli contient les templates, les dictionnaires, scripts de configuration et s'installe dans le container master;
  • nomdelappli-apps contient l'application elle-même et s'installe dans le container web.
Il faut modifier :
  • debian/compat et mettre 5 au lieu de 4;
  • debian/control pour décrire le paquet source et ses paquets binaires;
  • debian/rules pour que DESTDIR ne contienne plus le nom du paquet;
  • Makefile pour la séparation des paquets.
NB 1 les dépendances :
  • eole-monappli doit avoir eolebase-minimal dans ses deps, éventuellement eole-sso, eole-mysql
  • monappli-apps doit avoir web-pkg dans ses dépendances

NB 2 DESTDIR dans le makefile :
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 :-))
Ex :

EOLE_GIBII_DESTDIR=$(DESTDIR)/eole-gibii
GIBII_APPS_DESTDIR=$(DESTDIR)/gibii-apps

Étape 4 : Mysql

La gestion des bases de données mysql doit être revue (où quand, comment) ?

Un soucis rencontré jusqu'à présent est la difficulté à retrouver les fichiers .sql.
Voici une proposition de nomenclature envisagée pour placer les fichiers.

Fichier de configuration

Les fichiers ont la même destination, on peut imaginer une structure comme celle-ci

    fichier sur le serveur

mysql/conf/gen/monappli.py                   ->   /usr/share/eole/applications/gen/monappli.py
mysql/conf/passwords/monappli.ini            ->   /usr/share/eole/applications/passwords/monappli.ini
mysql/conf/updates/config.py                 ->   /usr/share/eole/applications/updates/.../config.py

Les fichiers .sql

mysql/files/gen/fichiers.sql                 ->   /usr/share/eole/mysql/<nomdelappli>/gen/fichiers.sql
mysql/files/updates/fichiers.sql             ->   /usr/share/eole/mysql/<nomdelappli>/updates/fichiers.sql

Impact des modifications

  • Les fichiers de configuration de génération et d'updates doivent être mis au goût du jour (chemin vers les fichiers sql);
  • le Makefile doit tenir compte des modifications. (ça doit être à peu près tout en attendant la modification de eole-mysql).