Wiki » Historique » Version 21
Version 20 (Patrice THEBAULT, 10/03/2015 16:27) → Version 21/26 (Vincent Chavanon, 12/03/2015 17:05)
h1. Principe de fonctionnement
Le paquet eole-zephir-medde sert à alimenter le Zephir avec les informations des modules eSBL & eCDL.
Il contient à minima les dictionnaires et les fonctions nécessaires pour pouvoir déclarer un serveur via le frontend Zephir.
Par extension, il peut aussi contenir tous les dictionnaires "hors Eole" nécessaires aux variantes.
*! les dictionnaires portés par Eole ne doivent pas figurer dans ce dépôt ! Ce serait fatal à apt !*
h1. Arborescence dépôt
<pre>
|_ creole
| |_ funcs
| |_ creole3
| |_ mesFonctionsPerso.py
</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*.
<pre>
|_ zephir
| |_ default_modules
| |_ 6
| |_ ecdl-2.4
| |_ esbl-2.4
| |_ 7
| |_ ecdl-2.4.1
| |_ ecdl-2.4.1
</pre>Les répertoires 6 et 7 servent à stocker les fichiers contenant les informations de paquets dictionnaires nécessaires par module.
Ces chiffres correspondent respectivement aux versions 2.4 & 2.4.1 d'Eole.
Les fichiers doivent être appelés *nom_module-release*
Chaque fichier contient donc la liste des paquets que le module indiqué dans le nom contiendra
ex. ecdl-2.4.1
<pre>
|_ zephir
| |_ dictionnaires
| |_ 2.4
| |_ eole
| |_ eole-ecdl
| |_ eole-esbl
| |_ 2.4.1
| |_ eole
| |_ eole-ecdl
| |_ eole-ecdlannuaire
| |_ eole-esbl
| |_ supervision-psin
</pre>Ces répertoires correspondent aux noms des paquets d'où sont issus les dictionnaires pour le module.
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 nécessaires au frontend.
Remarque le répertoire dictionnaires/2.4 correspond à la version 2.4.0
Par exemple, le répertoire
<pre>
| |_ supervision-psin
</pre>contient
20_psin.xml 49_ocsinventory_agent.xml
h1. Principes d'alimentation
L'alimentation peut se faire de deux manières :
h2. 1 - outils zephir-parc
Le dépôt zephir-parc contient un tas d'outils permettant quasiment d'automatiser la collecte d'informations nécessaires.
*Ces outils ne gèrent que les modules et pas les variantes*.
Sur un serveur installé, *mis à jour* de sa version et *instancié*
<pre>
git clone https://dev-eole.ac-dijon.fr/git/zephir-parc.git
cd zephir-parc/outils
</pre>
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)
L'archive est organisée de la manière suivante (cas d'un eCDL) :
<pre>
ecdl-2.4.1.paqs
|_ eole
| |_ eole-antivirus
| |_ eole-client-annuaire
| |_ eole-ead-common
| |_ eole-ecdl
| |_ eole-ecdlannuaire
| |_ eole-exim
| |_ eole-fichier-common
| |_ eole-fichier-primaire
| |_ eole-flask
| |_ eole-nut
| |_ eole-server
| |_ eole-userpassword
| |_ supervision-psin
</pre>
fichier nommodule-release
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.
Soit ici ecdl-2.4.1.paqs devient ecdl-2.4.1
De plus, il *doit* subir une modification nécessaire pour indiquer si le module concerné est en mode conteneur ou pas :
mode *non conteneur* : ajout de la ligne: eole/eole-zephir-module
mode *conteneur* : eole/eole-zephir-module-container
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_
répertoires de dictionnaires
L'archive se comporte comme l'arborescence du dépôt. On obtient des répertoires qui correspondent à des paquets et contenant des dictionnaires.
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/_
*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*
h2. 2 - Méthode automatique type EN
Un script parse l'ensemble des dicos de tous les dépôts et alimente le paquet des dictionnaires zephir EN automatiquement.
Il reste à développer ET tester au MEDDE
h2. 3 - A la main
...
Pour chaque projet dépôt à jour, jour concerné, récupérer pour de chaque release branche (2.4, 2.4.1 ...), l'ensemble des dicos et les ajouter dans en n'oubliant pas de préciser le dossier au nom du projet situé dans */zephir/dictionnaires/2.4.1/release/eole/nom_projet/
Si le paquet est inclus dans un module, vérifier que pour le nom du paquet correspondant figure bien dans le fichier *nom_module-release* présent dans /zephir/default_modules/no_release/
Et, répertoire.
Ou, à 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.
Le paquet eole-zephir-medde sert à alimenter le Zephir avec les informations des modules eSBL & eCDL.
Il contient à minima les dictionnaires et les fonctions nécessaires pour pouvoir déclarer un serveur via le frontend Zephir.
Par extension, il peut aussi contenir tous les dictionnaires "hors Eole" nécessaires aux variantes.
*! les dictionnaires portés par Eole ne doivent pas figurer dans ce dépôt ! Ce serait fatal à apt !*
h1. Arborescence dépôt
<pre>
|_ creole
| |_ funcs
| |_ creole3
| |_ mesFonctionsPerso.py
</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*.
<pre>
|_ zephir
| |_ default_modules
| |_ 6
| |_ ecdl-2.4
| |_ esbl-2.4
| |_ 7
| |_ ecdl-2.4.1
| |_ ecdl-2.4.1
</pre>Les répertoires 6 et 7 servent à stocker les fichiers contenant les informations de paquets dictionnaires nécessaires par module.
Ces chiffres correspondent respectivement aux versions 2.4 & 2.4.1 d'Eole.
Les fichiers doivent être appelés *nom_module-release*
Chaque fichier contient donc la liste des paquets que le module indiqué dans le nom contiendra
ex. ecdl-2.4.1
<pre>
|_ zephir
| |_ dictionnaires
| |_ 2.4
| |_ eole
| |_ eole-ecdl
| |_ eole-esbl
| |_ 2.4.1
| |_ eole
| |_ eole-ecdl
| |_ eole-ecdlannuaire
| |_ eole-esbl
| |_ supervision-psin
</pre>Ces répertoires correspondent aux noms des paquets d'où sont issus les dictionnaires pour le module.
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 nécessaires au frontend.
Remarque le répertoire dictionnaires/2.4 correspond à la version 2.4.0
Par exemple, le répertoire
<pre>
| |_ supervision-psin
</pre>contient
20_psin.xml 49_ocsinventory_agent.xml
h1. Principes d'alimentation
L'alimentation peut se faire de deux manières :
h2. 1 - outils zephir-parc
Le dépôt zephir-parc contient un tas d'outils permettant quasiment d'automatiser la collecte d'informations nécessaires.
*Ces outils ne gèrent que les modules et pas les variantes*.
Sur un serveur installé, *mis à jour* de sa version et *instancié*
<pre>
git clone https://dev-eole.ac-dijon.fr/git/zephir-parc.git
cd zephir-parc/outils
</pre>
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)
L'archive est organisée de la manière suivante (cas d'un eCDL) :
<pre>
ecdl-2.4.1.paqs
|_ eole
| |_ eole-antivirus
| |_ eole-client-annuaire
| |_ eole-ead-common
| |_ eole-ecdl
| |_ eole-ecdlannuaire
| |_ eole-exim
| |_ eole-fichier-common
| |_ eole-fichier-primaire
| |_ eole-flask
| |_ eole-nut
| |_ eole-server
| |_ eole-userpassword
| |_ supervision-psin
</pre>
fichier nommodule-release
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.
Soit ici ecdl-2.4.1.paqs devient ecdl-2.4.1
De plus, il *doit* subir une modification nécessaire pour indiquer si le module concerné est en mode conteneur ou pas :
mode *non conteneur* : ajout de la ligne: eole/eole-zephir-module
mode *conteneur* : eole/eole-zephir-module-container
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_
répertoires de dictionnaires
L'archive se comporte comme l'arborescence du dépôt. On obtient des répertoires qui correspondent à des paquets et contenant des dictionnaires.
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/_
*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*
h2. 2 - Méthode automatique type EN
Un script parse l'ensemble des dicos de tous les dépôts et alimente le paquet des dictionnaires zephir EN automatiquement.
Il reste à développer ET tester au MEDDE
h2. 3 - A la main
...
Pour chaque projet dépôt à jour, jour concerné, récupérer pour de chaque release branche (2.4, 2.4.1 ...), l'ensemble des dicos et les ajouter dans en n'oubliant pas de préciser le dossier au nom du projet situé dans */zephir/dictionnaires/2.4.1/release/eole/nom_projet/
Si le paquet est inclus dans un module, vérifier que pour le nom du paquet correspondant figure bien dans le fichier *nom_module-release* présent dans /zephir/default_modules/no_release/
Et, répertoire.
Ou, à 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.