EnvoleMigration23 » Historique » Version 28
Benoit Vila, 13/05/2011 17:22
maj variables gen_config pour EnvOLE
| 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 | 27 | Benoit Vila | * Renommer éventuellement les variables (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 | 22 | Gérald Schwartzmann | ** l'adresse du serveur sso est adresse_sso (anciennement cas_domainename) ??? |
| 39 | 1 | Gaston TJEBBES | |
| 40 | 9 | Gaston TJEBBES | h2. Étape 3: la division des paquets |
| 41 | 1 | Gaston TJEBBES | |
| 42 | 9 | Gaston TJEBBES | Il faut désormais deux paquets pour une application : |
| 43 | 9 | Gaston TJEBBES | * eole-nomdelappli contient les templates, les dictionnaires, scripts de configuration et s'installe dans le container master; |
| 44 | 9 | Gaston TJEBBES | * nomdelappli-apps contient l'application elle-même et s'installe dans le container web. |
| 45 | 1 | Gaston TJEBBES | |
| 46 | 9 | Gaston TJEBBES | Il faut modifier : |
| 47 | 9 | Gaston TJEBBES | * debian/compat et mettre 5 au lieu de 4; |
| 48 | 9 | Gaston TJEBBES | * debian/control pour décrire le paquet source et ses paquets binaires; |
| 49 | 9 | Gaston TJEBBES | * debian/rules pour que DESTDIR ne contienne plus le nom du paquet; |
| 50 | 21 | Gérald Schwartzmann | exemple : $(MAKE) install DESTDIR=$(CURDIR)/debian/monappli devient $(MAKE) install DESTDIR=$(CURDIR)/debian/ |
| 51 | 9 | Gaston TJEBBES | * Makefile pour la séparation des paquets. |
| 52 | 1 | Gaston TJEBBES | |
| 53 | 9 | Gaston TJEBBES | NB 1 les dépendances : |
| 54 | 9 | Gaston TJEBBES | * eole-monappli doit avoir eolebase-minimal dans ses deps, éventuellement eole-sso, eole-mysql |
| 55 | 9 | Gaston TJEBBES | * monappli-apps doit avoir web-pkg dans ses dépendances |
| 56 | 1 | Gaston TJEBBES | |
| 57 | 9 | Gaston TJEBBES | NB 2 DESTDIR dans le makefile : |
| 58 | 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 :-)) |
| 59 | 9 | Gaston TJEBBES | Ex : |
| 60 | 9 | Gaston TJEBBES | <pre> |
| 61 | 9 | Gaston TJEBBES | EOLE_GIBII_DESTDIR=$(DESTDIR)/eole-gibii |
| 62 | 9 | Gaston TJEBBES | GIBII_APPS_DESTDIR=$(DESTDIR)/gibii-apps |
| 63 | 9 | Gaston TJEBBES | </pre> |
| 64 | 7 | Gaston TJEBBES | |
| 65 | 9 | Gaston TJEBBES | h2. Étape 4 : Mysql |
| 66 | 8 | Gaston TJEBBES | |
| 67 | 1 | Gaston TJEBBES | La gestion des bases de données mysql doit être revue (où quand, comment) ? |
| 68 | 8 | Gaston TJEBBES | |
| 69 | 8 | Gaston TJEBBES | Un soucis rencontré jusqu'à présent est la difficulté à retrouver les fichiers .sql. |
| 70 | 8 | Gaston TJEBBES | Voici une proposition de nomenclature envisagée pour placer les fichiers. |
| 71 | 8 | Gaston TJEBBES | |
| 72 | 8 | Gaston TJEBBES | h3. Fichier de configuration |
| 73 | 8 | Gaston TJEBBES | |
| 74 | 8 | Gaston TJEBBES | Les fichiers ont la même destination, on peut imaginer une structure comme celle-ci |
| 75 | 13 | Gaston TJEBBES | <pre> |
| 76 | 12 | Gaston TJEBBES | |
| 77 | 8 | Gaston TJEBBES | fichier dans le dépot -> fichier sur le serveur |
| 78 | 8 | Gaston TJEBBES | |
| 79 | 8 | Gaston TJEBBES | mysql/conf/gen/monappli.py -> /usr/share/eole/applications/gen/monappli.py |
| 80 | 7 | Gaston TJEBBES | mysql/conf/passwords/monappli.ini -> /usr/share/eole/applications/passwords/monappli.ini |
| 81 | 1 | Gaston TJEBBES | mysql/conf/updates/config.py -> /usr/share/eole/applications/updates/.../config.py |
| 82 | 11 | Gaston TJEBBES | </pre> |
| 83 | 9 | Gaston TJEBBES | |
| 84 | 1 | Gaston TJEBBES | h3. Les fichiers .sql |
| 85 | 10 | Gaston TJEBBES | |
| 86 | 11 | Gaston TJEBBES | <pre> |
| 87 | 1 | Gaston TJEBBES | mysql/files/gen/fichiers.sql -> /usr/share/eole/mysql/<nomdelappli>/gen/fichiers.sql |
| 88 | 7 | Gaston TJEBBES | mysql/files/updates/fichiers.sql -> /usr/share/eole/mysql/<nomdelappli>/updates/fichiers.sql |
| 89 | 11 | Gaston TJEBBES | </pre> |
| 90 | 7 | Gaston TJEBBES | |
| 91 | 18 | Gaston TJEBBES | h3. Les fichiers de mots de passe |
| 92 | 18 | Gaston TJEBBES | |
| 93 | 20 | Gaston TJEBBES | Les fichiers de mot de passe devront contenir une variable container. |
| 94 | 18 | Gaston TJEBBES | Si vous utilisez des scripts de pre et post update, ceux-ci doivent se trouver dans le container maître. |
| 95 | 18 | Gaston TJEBBES | |
| 96 | 9 | Gaston TJEBBES | h3. Impact des modifications |
| 97 | 14 | Gaston TJEBBES | |
| 98 | 10 | Gaston TJEBBES | * Les dicos contiennent les chemins vers les fichiers .sql |
| 99 | 1 | 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); |
| 100 | 18 | Gaston TJEBBES | * le Makefile doit tenir compte des modifications. (ça doit être à peu près tout en attendant la modification de eole-mysql); |
| 101 | 18 | Gaston TJEBBES | * Rajouter la variable container dans les fichiers (.ini) de modification de mot de passe. |
| 102 | 15 | Gaston TJEBBES | |
| 103 | 17 | Gaston TJEBBES | h3. Mysql en ligne de commande |
| 104 | 17 | Gaston TJEBBES | |
| 105 | 17 | Gaston TJEBBES | Pour utiliser la commande mysql dans un script bash, il faut faire comme suit : |
| 106 | 17 | Gaston TJEBBES | <pre> |
| 107 | 17 | Gaston TJEBBES | # Cette ligne ci permet de charger les adresses/chemins des containers |
| 108 | 17 | Gaston TJEBBES | . /etc/eole/containers.conf |
| 109 | 17 | Gaston TJEBBES | echo "Update matable set ..." | mysql --defaults-file=$container_path_mysql/etc/mysql/debian.cnf -h$container_ip_mysql |
| 110 | 17 | Gaston TJEBBES | </pre> |
| 111 | 17 | Gaston TJEBBES | |
| 112 | 17 | Gaston TJEBBES | Donc en ligne de commande, c'est pareil (ou presque) |
| 113 | 17 | Gaston TJEBBES | <pre> |
| 114 | 17 | Gaston TJEBBES | . /etc/eole/containers.conf |
| 115 | 17 | Gaston TJEBBES | mysql -uroot -ppassword -h$container_ip_mysql |
| 116 | 17 | Gaston TJEBBES | </pre> |
| 117 | 17 | Gaston TJEBBES | |
| 118 | 19 | Gaston TJEBBES | h3. Le passage au container |
| 119 | 19 | Gaston TJEBBES | |
| 120 | 19 | Gaston TJEBBES | * Les bases de données sont créées avec un grant de l'utilisateur@localhost, cela s'avère bloquant lorsque l'on passe au container. |
| 121 | 19 | Gaston TJEBBES | * Grant utilisateur@ipcontainer est nécessaire. |
| 122 | 19 | Gaston TJEBBES | |
| 123 | 19 | Gaston TJEBBES | |
| 124 | 15 | Gaston TJEBBES | h2. L'arbre des dépendances |
| 125 | 15 | Gaston TJEBBES | |
| 126 | 15 | Gaston TJEBBES | Il va falloir réfléchir aux meta paquets : |
| 127 | 15 | Gaston TJEBBES | * envole-pkg; |
| 128 | 15 | Gaston TJEBBES | * envole-extras-pkg. |
| 129 | 23 | Joël Cuissinat | |
| 130 | 23 | Joël Cuissinat | |
| 131 | 25 | Joël Cuissinat | h2. Familles et variables à renommer entre 2.2 et 2.3 |
| 132 | 1 | Gaston TJEBBES | |
| 133 | 24 | Joël Cuissinat | * *full_cas* = 'oui' et *config_sso* = 'oui' => *activer_sso* != 'non' _(valeurs possibles pour activer_sso : ['non', 'local', 'distant'])_ |
| 134 | 24 | Joël Cuissinat | * <family name=' *Applications web* '> => <family name=' *applications web* '> |
| 135 | 24 | Joël Cuissinat | * <file filelist=' *sso* '> => <file filelist=' *ssoclient* '> _(utilisé pour les fichiers clients pam/cas et php/cas)_ |
| 136 | 24 | Joël Cuissinat | * *port_sso* et *cas_port* => *eolesso_port* |
| 137 | 26 | Joël Cuissinat | * *adresse_sso* et *cas_domainname* => *eolesso_adresse* |
| 138 | 28 | Benoit Vila | * *adresse_sso* et *cas_domainname* => *eolesso_adresse* |
| 139 | 28 | Benoit Vila | * *scribe_envole_url*, *scribe_envole* et *posh_url* => *web_domain* |
| 140 | 28 | Benoit Vila | * les varibales d'activation des applies EnvOLE => *envole_<applie>* |