Projet

Général

Profil

Wiki » Historique » Version 25

Thierry Bertrand, 05/10/2015 14:50

1 1 Thierry Bertrand
h1. Principe de fonctionnement
2 1 Thierry Bertrand
3 1 Thierry Bertrand
Le paquet eole-zephir-medde sert à alimenter le Zephir avec les informations des modules eSBL & eCDL.
4 1 Thierry Bertrand
Il contient à minima les dictionnaires et les fonctions nécessaires pour pouvoir déclarer un serveur via le frontend Zephir.
5 1 Thierry Bertrand
6 1 Thierry Bertrand
Par extension, il peut aussi contenir tous les dictionnaires "hors Eole" nécessaires aux variantes.
7 7 Thierry Bertrand
*! les dictionnaires portés par Eole ne doivent pas figurer dans ce dépôt ! Ce serait fatal à apt !*
8 1 Thierry Bertrand
9 11 Thierry Bertrand
h1. Arborescence dépôt
10 1 Thierry Bertrand
11 2 Thierry Bertrand
<pre>
12 1 Thierry Bertrand
|_ creole
13 1 Thierry Bertrand
|	|_ funcs
14 1 Thierry Bertrand
|		|_ creole3
15 1 Thierry Bertrand
|			|_ mesFonctionsPerso.py
16 20 Patrice THEBAULT
</pre>Ce répertoire sert à stocker l'ensemble des fonctions personnalisées nécessaires à la saisie. *funcs/creole3 n'est valable que pour les fonctions en 2.4 et supérieur*.
17 5 Thierry Bertrand
18 3 Thierry Bertrand
<pre>
19 1 Thierry Bertrand
|_ zephir
20 1 Thierry Bertrand
|	|_ default_modules
21 1 Thierry Bertrand
|			|_ 6
22 1 Thierry Bertrand
|				|_ ecdl-2.4
23 1 Thierry Bertrand
|				|_ esbl-2.4
24 1 Thierry Bertrand
|			|_ 7
25 1 Thierry Bertrand
|				|_ ecdl-2.4.1
26 1 Thierry Bertrand
|				|_ ecdl-2.4.1
27 21 Vincent Chavanon
</pre>Les répertoires 6 et 7 servent à stocker les fichiers contenant les informations de paquets nécessaires par module.
28 9 Thierry Bertrand
Ces chiffres correspondent respectivement aux versions 2.4 & 2.4.1 d'Eole.
29 24 Thierry Bertrand
Toutes ces informations se retrouvent dans la liste *DISTRIB* du fichier du dépot git *zephir-parc : python/zephir/config.py*
30 1 Thierry Bertrand
Les fichiers doivent être appelés *nom_module-release*
31 21 Vincent Chavanon
Chaque fichier contient donc la liste des paquets que le module indiqué dans le nom contiendra 
32 9 Thierry Bertrand
33 9 Thierry Bertrand
ex. ecdl-2.4.1
34 9 Thierry Bertrand
35 5 Thierry Bertrand
36 6 Thierry Bertrand
37 1 Thierry Bertrand
<pre>
38 10 Thierry Bertrand
|_ zephir
39 1 Thierry Bertrand
|	|_ dictionnaires
40 1 Thierry Bertrand
|			|_ 2.4
41 1 Thierry Bertrand
|				|_ eole
42 1 Thierry Bertrand
|					|_ eole-ecdl
43 1 Thierry Bertrand
|					|_ eole-esbl
44 1 Thierry Bertrand
|			|_ 2.4.1
45 1 Thierry Bertrand
|				|_ eole
46 1 Thierry Bertrand
|					|_ eole-ecdl
47 1 Thierry Bertrand
|					|_ eole-ecdlannuaire
48 1 Thierry Bertrand
|					|_ eole-esbl
49 1 Thierry Bertrand
|					|_ supervision-psin
50 6 Thierry Bertrand
</pre>Ces répertoires correspondent aux noms des paquets d'où sont issus les dictionnaires pour le module.
51 21 Vincent Chavanon
Ils abritent tous les dictionnaires dont peut disposer le frontend, qu'ils soient inclus dans le module (cf. fichier default_modules/numero_version/nom_module-release) ou qu'ils soient uniquement éventuellement disponible pour une variante, et donc non présent dans un fichier nom_module-release
52 20 Patrice THEBAULT
53 20 Patrice THEBAULT
Remarque le répertoire dictionnaires/2.4 correspond à la version 2.4.0
54 6 Thierry Bertrand
55 6 Thierry Bertrand
Par exemple, le répertoire
56 6 Thierry Bertrand
<pre>
57 6 Thierry Bertrand
|					|_ supervision-psin
58 6 Thierry Bertrand
</pre>contient
59 1 Thierry Bertrand
20_psin.xml  49_ocsinventory_agent.xml
60 8 Thierry Bertrand
61 11 Thierry Bertrand
h1. Principes d'alimentation
62 8 Thierry Bertrand
63 1 Thierry Bertrand
L'alimentation peut se faire de deux manières :
64 10 Thierry Bertrand
65 11 Thierry Bertrand
h2. 1 - outils zephir-parc
66 10 Thierry Bertrand
67 10 Thierry Bertrand
Le dépôt zephir-parc contient un tas d'outils permettant quasiment d'automatiser la collecte d'informations nécessaires.
68 10 Thierry Bertrand
69 18 Patrice THEBAULT
*Ces outils ne gèrent que les modules et pas les variantes*.
70 17 Patrice THEBAULT
71 18 Patrice THEBAULT
Sur un serveur installé, *mis à jour* de sa version et *instancié*
72 10 Thierry Bertrand
73 10 Thierry Bertrand
<pre>
74 10 Thierry Bertrand
git clone https://dev-eole.ac-dijon.fr/git/zephir-parc.git
75 10 Thierry Bertrand
cd zephir-parc/outils
76 1 Thierry Bertrand
</pre>
77 25 Thierry Bertrand
Ce répertoire contient un script shell *zephir_dicts.sh* qui, lancé sur le module, va générer une archive sous /tmp (Cette opération est donc à répéter sur un serveur de chaque module)
78 10 Thierry Bertrand
79 10 Thierry Bertrand
L'archive est organisée de la manière suivante (cas d'un eCDL) :
80 10 Thierry Bertrand
<pre>
81 10 Thierry Bertrand
ecdl-2.4.1.paqs
82 10 Thierry Bertrand
|_ eole
83 10 Thierry Bertrand
|	|_ eole-antivirus
84 10 Thierry Bertrand
|	|_ eole-client-annuaire
85 10 Thierry Bertrand
|	|_ eole-ead-common
86 10 Thierry Bertrand
|	|_ eole-ecdl
87 10 Thierry Bertrand
|	|_ eole-ecdlannuaire
88 10 Thierry Bertrand
|	|_ eole-exim
89 10 Thierry Bertrand
|	|_ eole-fichier-common
90 10 Thierry Bertrand
|	|_ eole-fichier-primaire
91 10 Thierry Bertrand
|	|_ eole-flask
92 10 Thierry Bertrand
|	|_ eole-nut
93 10 Thierry Bertrand
|	|_ eole-server
94 10 Thierry Bertrand
|	|_ eole-userpassword
95 10 Thierry Bertrand
|	|_ supervision-psin
96 10 Thierry Bertrand
</pre>
97 13 Thierry Bertrand
fichier nommodule-release
98 10 Thierry Bertrand
Le fichier *ecdl-2.4.1.paqs* correspond au fichier *nom_module-release* vu précédemment et doit être renommé *sans* l'extension .paqs.
99 10 Thierry Bertrand
Soit ici ecdl-2.4.1.paqs devient ecdl-2.4.1
100 10 Thierry Bertrand
De plus, il *doit* subir une modification nécessaire pour indiquer si le module concerné est en mode conteneur ou pas :
101 10 Thierry Bertrand
mode *non conteneur* : ajout de la ligne: eole/eole-zephir-module
102 10 Thierry Bertrand
mode *conteneur* : eole/eole-zephir-module-container
103 10 Thierry Bertrand
Reste alors à le placer au bon endroit sur le dépôt soit ici : _eole-zephir-medde/zephir/default_modules/7/ecdl-2.4.1_
104 10 Thierry Bertrand
105 13 Thierry Bertrand
répertoires de dictionnaires
106 10 Thierry Bertrand
L'archive se comporte comme l'arborescence du dépôt. On obtient des répertoires qui correspondent à des paquets et contenant des dictionnaires.
107 12 Thierry Bertrand
Ils devront être ajoutés au dépôt à l'endroit adéquat sous */zephir/dictionnaires/release* soit ici : _eole-zephir-medde/zephir/dictionnaires/2.4.1/_
108 12 Thierry Bertrand
109 10 Thierry Bertrand
*Rappel : dans le cadre des modules MEDDE traités ici, il faut purger tous les dicos portés par Eole et ne pas les ajouter sous peine de casser apt*
110 14 Thierry Bertrand
111 15 Thierry Bertrand
h2. 2 - Méthode automatique type EN
112 16 Patrice THEBAULT
113 1 Thierry Bertrand
Un script parse l'ensemble des dicos de tous les dépôts et alimente le paquet des dictionnaires zephir EN automatiquement.
114 1 Thierry Bertrand
Il reste à développer ET tester au MEDDE
115 1 Thierry Bertrand
116 21 Vincent Chavanon
h2. 3 - A la main 
117 14 Thierry Bertrand
118 22 Vincent Chavanon
Pour chaque projet à jour, récupérer pour chaque release (2.4, 2.4.1 ...), l'ensemble des dicos et les ajouter dans le dossier au nom du projet situé dans */zephir/dictionnaires/2.4.1/release/eole/nom_projet/*
119 22 Vincent Chavanon
Si le paquet est inclus dans un module, vérifier que le nom du paquet correspondant figure bien dans le fichier *nom_module-release* présent dans */zephir/default_modules/no_release/*
120 21 Vincent Chavanon
121 21 Vincent Chavanon
Et, à chaque modification de dictionnaire, se poser la question *"Et le Zephir dans tout ça ?"* et prendre le réflexe d'alimenter ce dépôt systématiquement et correctement.
122 23 Vincent Chavanon
123 23 Vincent Chavanon
h1. La gestion des variantes
124 23 Vincent Chavanon
125 23 Vincent Chavanon
Pour qu'un dictionnaire soit visible dans la liste de ceux ajoutable à une variante, il faut qu'il soit listé dans le répertoire des dictionnaires zephir/dictionnaires (cf. Principe de fonctionnement). Il est très probable que ce dictionnaire ne soit pas listé dans le fichier *nom_module-release* : il s'agit bien d'un dictionnaire ajoutable dans une variante et non présent dans le module.
126 23 Vincent Chavanon
l'outil zephir-parc génère automatiquement le fichier *nom_module-release* ET la liste des dictionnaires, en s'appuyant sur les composants installés sur le serveur d'où il est exécuté : si des dictionnaires ne sont pas présents sur le serveur utilisé pour la génération du fichier *nom_module-release* et la liste des dictionnaires, il faudra :
127 23 Vincent Chavanon
Soit enrichir la liste des dictionnaires à la main
128 23 Vincent Chavanon
soit installer le paquet sur le serveur, relancer zephir_parc, qui va regénérer un fichier *nom_module-release* et la liste des dictionnaires , et supprimer du fichier *nom_module-release* le paquet qui sera ajoutable dans une variante.