Projet

Général

Profil

Wiki » Historique » Version 26

Thierry Bertrand, 04/04/2016 15:31

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 26 Thierry Bertrand
|		|_ mesFonctionsPerso.py
15 26 Thierry Bertrand
|
16 26 Thierry Bertrand
|	|_ funcs_creole2
17 26 Thierry Bertrand
|		|_ mesFonctionsPerso2.3.py
18 26 Thierry Bertrand
</pre>
19 26 Thierry Bertrand
Ces répertoire servent à stocker l'ensemble des fonctions personnalisées nécessaires à la saisie. *funcs n'est valable que pour les fonctions en 2.4 et supérieur tandis que funcs_creole2 fait la même chose pour Eole 2.3*.
20 5 Thierry Bertrand
21 3 Thierry Bertrand
<pre>
22 1 Thierry Bertrand
|_ zephir
23 1 Thierry Bertrand
|	|_ default_modules
24 1 Thierry Bertrand
|			|_ 6
25 1 Thierry Bertrand
|				|_ ecdl-2.4
26 1 Thierry Bertrand
|				|_ esbl-2.4
27 1 Thierry Bertrand
|			|_ 7
28 1 Thierry Bertrand
|				|_ ecdl-2.4.1
29 1 Thierry Bertrand
|				|_ ecdl-2.4.1
30 21 Vincent Chavanon
</pre>Les répertoires 6 et 7 servent à stocker les fichiers contenant les informations de paquets nécessaires par module.
31 9 Thierry Bertrand
Ces chiffres correspondent respectivement aux versions 2.4 & 2.4.1 d'Eole.
32 24 Thierry Bertrand
Toutes ces informations se retrouvent dans la liste *DISTRIB* du fichier du dépot git *zephir-parc : python/zephir/config.py*
33 1 Thierry Bertrand
Les fichiers doivent être appelés *nom_module-release*
34 21 Vincent Chavanon
Chaque fichier contient donc la liste des paquets que le module indiqué dans le nom contiendra 
35 9 Thierry Bertrand
36 9 Thierry Bertrand
ex. ecdl-2.4.1
37 9 Thierry Bertrand
38 5 Thierry Bertrand
39 6 Thierry Bertrand
40 1 Thierry Bertrand
<pre>
41 10 Thierry Bertrand
|_ zephir
42 1 Thierry Bertrand
|	|_ dictionnaires
43 1 Thierry Bertrand
|			|_ 2.4
44 1 Thierry Bertrand
|				|_ eole
45 1 Thierry Bertrand
|					|_ eole-ecdl
46 1 Thierry Bertrand
|					|_ eole-esbl
47 1 Thierry Bertrand
|			|_ 2.4.1
48 1 Thierry Bertrand
|				|_ eole
49 1 Thierry Bertrand
|					|_ eole-ecdl
50 1 Thierry Bertrand
|					|_ eole-ecdlannuaire
51 1 Thierry Bertrand
|					|_ eole-esbl
52 1 Thierry Bertrand
|					|_ supervision-psin
53 6 Thierry Bertrand
</pre>Ces répertoires correspondent aux noms des paquets d'où sont issus les dictionnaires pour le module.
54 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
55 20 Patrice THEBAULT
56 20 Patrice THEBAULT
Remarque le répertoire dictionnaires/2.4 correspond à la version 2.4.0
57 6 Thierry Bertrand
58 6 Thierry Bertrand
Par exemple, le répertoire
59 6 Thierry Bertrand
<pre>
60 6 Thierry Bertrand
|					|_ supervision-psin
61 6 Thierry Bertrand
</pre>contient
62 1 Thierry Bertrand
20_psin.xml  49_ocsinventory_agent.xml
63 8 Thierry Bertrand
64 11 Thierry Bertrand
h1. Principes d'alimentation
65 8 Thierry Bertrand
66 1 Thierry Bertrand
L'alimentation peut se faire de deux manières :
67 10 Thierry Bertrand
68 11 Thierry Bertrand
h2. 1 - outils zephir-parc
69 10 Thierry Bertrand
70 10 Thierry Bertrand
Le dépôt zephir-parc contient un tas d'outils permettant quasiment d'automatiser la collecte d'informations nécessaires.
71 10 Thierry Bertrand
72 18 Patrice THEBAULT
*Ces outils ne gèrent que les modules et pas les variantes*.
73 17 Patrice THEBAULT
74 18 Patrice THEBAULT
Sur un serveur installé, *mis à jour* de sa version et *instancié*
75 10 Thierry Bertrand
76 10 Thierry Bertrand
<pre>
77 10 Thierry Bertrand
git clone https://dev-eole.ac-dijon.fr/git/zephir-parc.git
78 10 Thierry Bertrand
cd zephir-parc/outils
79 1 Thierry Bertrand
</pre>
80 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)
81 10 Thierry Bertrand
82 10 Thierry Bertrand
L'archive est organisée de la manière suivante (cas d'un eCDL) :
83 10 Thierry Bertrand
<pre>
84 10 Thierry Bertrand
ecdl-2.4.1.paqs
85 10 Thierry Bertrand
|_ eole
86 10 Thierry Bertrand
|	|_ eole-antivirus
87 10 Thierry Bertrand
|	|_ eole-client-annuaire
88 10 Thierry Bertrand
|	|_ eole-ead-common
89 10 Thierry Bertrand
|	|_ eole-ecdl
90 10 Thierry Bertrand
|	|_ eole-ecdlannuaire
91 10 Thierry Bertrand
|	|_ eole-exim
92 10 Thierry Bertrand
|	|_ eole-fichier-common
93 10 Thierry Bertrand
|	|_ eole-fichier-primaire
94 10 Thierry Bertrand
|	|_ eole-flask
95 10 Thierry Bertrand
|	|_ eole-nut
96 10 Thierry Bertrand
|	|_ eole-server
97 10 Thierry Bertrand
|	|_ eole-userpassword
98 10 Thierry Bertrand
|	|_ supervision-psin
99 10 Thierry Bertrand
</pre>
100 13 Thierry Bertrand
fichier nommodule-release
101 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.
102 10 Thierry Bertrand
Soit ici ecdl-2.4.1.paqs devient ecdl-2.4.1
103 10 Thierry Bertrand
De plus, il *doit* subir une modification nécessaire pour indiquer si le module concerné est en mode conteneur ou pas :
104 10 Thierry Bertrand
mode *non conteneur* : ajout de la ligne: eole/eole-zephir-module
105 10 Thierry Bertrand
mode *conteneur* : eole/eole-zephir-module-container
106 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_
107 10 Thierry Bertrand
108 13 Thierry Bertrand
répertoires de dictionnaires
109 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.
110 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/_
111 12 Thierry Bertrand
112 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*
113 14 Thierry Bertrand
114 15 Thierry Bertrand
h2. 2 - Méthode automatique type EN
115 16 Patrice THEBAULT
116 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.
117 1 Thierry Bertrand
Il reste à développer ET tester au MEDDE
118 1 Thierry Bertrand
119 21 Vincent Chavanon
h2. 3 - A la main 
120 14 Thierry Bertrand
121 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/*
122 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/*
123 21 Vincent Chavanon
124 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.
125 23 Vincent Chavanon
126 23 Vincent Chavanon
h1. La gestion des variantes
127 23 Vincent Chavanon
128 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.
129 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 :
130 23 Vincent Chavanon
Soit enrichir la liste des dictionnaires à la main
131 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.