Nouvelle gestion des dictionnaires Creole pour EOLE 2.4 et supérieur

La bibliothèque de dictionnaires

Principe général

Les dictionnaires Creole sont désormais communs à l'ensemble des modules d'une même version de la distribution EOLE.

Les dictionnaires livrés par les paquets de la distribution EOLE sont pré-installés sur le serveur Zéphir et sont activables au niveau d'une variante ou d'un serveur.

Les types de dictionnaires

  • Les dictionnaires de paquets : Ces dictionnaires sont installés sur les serveurs clients par l'intermédiaire de paquets disponibles sur le serveur de mise à jour. Ils sont utilisés lors de la saisie de la configuration dans l'application web Zéphir, mais ne sont pas envoyés aux serveurs. Lorsqu'un paquet de dictionnaires est activé pour un module / variante / serveur, le paquet est ajouté à la liste des paquets à installer pour le(s) serveur(s) concerné(s).
  • Les dictionnaires locaux à Zéphir : Ces dictionnaires sont présents sur le serveur Zéphir, mais ne sont pas liés à un paquet. Ils sont envoyés aux serveurs pour lesquels ils sont activés lors d'un envoi de configuration.

Dictionnaires par défaut d'un module

La liste des dictionnaires installés par défaut pour chaque module est gérée par un fichier, par exemple : /usr/share/zephir/default_modules/6/amon-2.4 pour le module Amon 2.4.

Ce fichier contient la liste des paquets de dictionnaires installés par défaut (par exemple : eole/eole-proxy).

Pour les modules n'utilisant pas ce mode de gestion des dictionnaires (2.3 et antérieurs), le fichier existe mais est vide.

Remarque

  • Dans l'ancien mode, chaque module possède un répertoire avec une copie des dictionnaires par défaut.

  • Dans le nouveau mode, des liens sont créés vers les dictionnaires de chaque paquet activé.

Gestion des dictionnaires locaux

Une interface de gestion des dictionnaires additionnels est disponible pour les versions de la distribution les supportant.

L'accès se fait par l'entrée modules du menu et en cliquant sur le bouton Dictionnaires personnalisés.

L'interface permet de :

  • mettre à jour le contenu d'un dictionnaire existant ;

  • ajouter un nouveau dictionnaire (lié à un paquet ou local au serveur Zéphir) ;

  • supprimer un dictionnaire existant ;

  • supprimer un paquet de dictionnaires ;

Ajout d'un nouveau paquet de dictionnaires
Ajout d'un nouveau paquet de dictionnaires

Dictionnaires livrés par EOLE

Les paquets de dictionnaires disponibles dans la distribution EOLE sont pré-installés par défaut sur le serveur Zéphir. Ils ne peuvent être ni modifiés ni supprimés.

Sur le serveur Zéphir les dictionnaires sont stockés dans les répertoires suivants :

  • /usr/share/zephir/dictionnaires/2.4/local/*.xml : dictionnaires locaux au serveur Zéphir ;

  • /usr/share/zephir/dictionnaires/2.4/local/<nom_paquet/*.xml : dictionnaires livrés par des paquets hors distribution EOLE ;

  • /usr/share/zephir/dictionnaires/2.4/eole/<nom_paquet>/*.xml : dictionnaires de la distribution EOLE ;

Seule la partie /local/ est gérée par la page d'édition de la bibliothèque, les dictionnaires livrés par EOLE sont maintenus par les paquets de l'application Zéphir.

Utilisation sur les serveurs et variantes

Une fois les dictionnaires renseignés au niveau de la bibliothèque, il devient possible de les activer / désactiver pour une variante d'un module ou pour un serveur particulier.

  • pour une variante, aller dans l'onglet modules puis dans variantes (lien sur la ligne du module en question) puis sur modifier ;
  • pour un serveur, aller sur la page d'état d'un serveur et cliquer sur le lien fichiers personnalisés.

Une liste déroulante devrait apparaître dans la section correspondant aux dictionnaires. Sélectionnez le dictionnaire / paquet de dictionnaires voulu et validez le formulaire.

Activation d'un paquet de dictionnaires dans une variante
Activation d'un paquet de dictionnaires dans une variante

Si un dictionnaire ou paquet est activé au niveau d'une variante, il ne sera pas proposé dans la liste des fichiers personnalisés des serveurs de celle-ci (il apparaîtra dans la colonne variante.

RemarqueÀ propos des paquets de dictionnaires

Dans le cas d'un paquet de dictionnaires, le paquet apparaîtra également dans la section paquets additionnels.

En passant le pointeur de la souris sur un nom de paquet dans la section des dictionnaires activés, les fichiers livrés par celui-ci seront indiqués.

AttentionCohérence des dictionnaires activés

Les dépendances ne sont pas gérées automatiquement. Par exemple, si vous activez un paquet d'application web sur un module Eolebase, il faudra également activer eole-web et eole-mysql.

Après l'ajout de nouveaux dictionnaires, il est conseillé de :

  • lancer une édition de la configuration du serveur (pour une variante: changer les valeurs par défaut) pour vérifier qu'il ne manque pas de variables (il suffit de vérifier que l'interface d'édition se lance correctement) ;

  • Dans le cas d'une variante, il est également recommandé d'effectuer un envoi de configuration sur un serveur témoin pour valider le fonctionnement.

Activer le mode conteneur sur un serveur

Dans le cas où vous voulez activer le mode conteneur sur un serveur dont ce n'est pas le mode par défaut (par exemple, le module Amon), il faut activer dans les fichiers personnalisés du serveur les paquets de dictionnaires suivants :

  • eole-lxc-controller

  • eole-apt-cacher-ng

Vous pouvez également faire cette manipulation au niveau d'une variante pour activer le mode conteneur sur tous les serveurs de la variante.

Envoi des dictionnaires aux serveurs

Lors de l'appel à l'action envoi de configuration à un serveur géré par le serveur Zéphir, les dictionnaires activés sont pris en compte de la façon suivante :

  • les dictionnaires locaux au serveur Zéphir (non gérés par un paquet) sont envoyés au serveur

  • les dictionnaires de paquets (paquets EOLE activés mais non installés par défaut, ou paquets non EOLE) ne sont pas envoyés, mais les paquets concernés sont installés sur le serveur client si il n'est pas déjà présent.

Détection des paquets avec dictionnaires installés manuellement sur un serveur

Si un utilisateur installe un paquet contenant des dictionnaires sans passer par le serveur Zéphir, certains problèmes peuvent survenir :

  • si le serveur Zéphir effectue un envoi de configuration sans avoir fait de sauvegarde auparavant, les valeurs saisies sur d'éventuelles nouvelles variables seront perdues ;
  • en cas d'édition de la configuration depuis l'application Zéphir, les nouvelles variables n'apparaîtront pas (même si les valeurs sont présentes dans le fichier de valeurs).

Pour limiter les risques, le serveur Zéphir vérifie à chaque synchronisation des serveurs si de nouveaux paquets de ce type ont été installés (paquets livrés par la distribution EOLE, ou paquets locaux déclarés sur le serveur Zéphir). Si c'est le cas, différentes alertes et messages apparaissent dans l'application :

  • un courrier électronique est envoyé aux utilisateurs surveillant le serveur en question dans l'application Zéphir ;
  • la diode présente sur la page d'état du serveur passe au rouge, et les paquets sont affichés dans une liste ;
  • Cette diode est également affichée dans la page d'affichage d'un groupe de serveurs (colonne dicos) ;
  • un message d'information est affiché dans le cadre dictionnaires de la page des fichiers personnalisés du serveur (les paquets sont en rouge dans la liste des paquets disponibles) ;
  • dans la page d'action sur un serveur ou groupe de serveurs, un message d'avertissement est affiché en dessous du bouton d'envoi de configuration pour informer des risques potentiels.

Pour résoudre le problème :

  • activer le paquet manquant au niveau de la variante ou au niveau du serveur ;
  • demander une sauvegarde de l'état du serveur pour récupérer la configuration locale, ou éditer la configuration depuis le serveur Zéphir et envoyer la configuration au serveur.

Complément

Un critère de recherche a été ajouté dans l'onglet serveurs / Sélection d'un groupe de serveurs sous forme de case à cocher Serveurs sur lesquels une installation manuelle de dictionnaires est détectée.