Epic 5 : Gestion de la configuration¶
Pour plus de détails et d’éléments de contexte, voir la page Serveur de configuration.
E5-1 : Charger les dictionnaires Creole à partir d’un service “source de données”¶
Contexte¶
Afin de pouvoir manipuler les données de configuration d’un serveur, il nous faut tout d’abord charger les informations constituant le cadre de manipulation de celles ci. Dans le cas des distributions EOLE, ce cadre est donné par les dictionnaires Creole. Nous devons donc implémenter un système qui nous permettra de charger ces fichiers dans l’environnement Zéphir et le stocker dans un format exploitable par l’application.
Proposition¶
L’arborescence dataset/*
du service datasource
devra être étendue/modifiée afin de prendre en charge la mise à disposition des dictionnaires XML Creole.
Suite à la notification de disponibilité d’un service datasource
par l’orchestrateur Consul, le service servermodel-data
devra vérifier les mises à jour des dictionnaires disponibles. Il devra effectuer
un chargement des fichiers modifiés et mettre à jour les entités Document/ApplicationService/ServerModel associées le cas échéant.
Les dictionnaires XML Creole devront être copiés de la source de données vers le service storage-minio
par le service servermodel-data
(source de données != données de travail).
Critères d’acceptation¶
- Les dictionnaires Creole sont correctement copiés depuis la source de données vers le service
storage-minio
- Les entités Document et ApplicationService sont correctement mises à jour lorsqu’un dictionnaire est mis à jour
- Des messages sont envoyés sur le bus de message lorsque les entités Document et ApplicationService sont modifiées/créées.
E5-2 : Fournir un modèle de configuration associé à un modèle de serveur¶
Contexte¶
Une fois chargés et associés à un modèle de serveur, un “modèle de configuration” (i.e. l’ensemble des dictionnaires Creole “aplatis” pour un modèle de serveur donné) devrait pouvoir être généré afin d’ouvrir des sessions d’édition de configuration.
Proposition¶
Étendre le service servermodel-manager
afin que l’on puisse récupérer le modèle de configuration associé à un modèle de serveur. Ce modèle de configuration devra prendre
en compte la chaîne de parenté du modèle de serveur.
Critères d’acceptation¶
- Un message permet d’interroger et de récupérer le modèle de configuration associé à un modèle de serveur.
E5-3 : Implémenter le service “backend” qui alimentera GenConfig¶
Contexte¶
Afin de pouvoir fonctionner, GenConfig va nécessiter un backend qui sera capable de s’alimenter des modèles de configuration fournis par le service servermodel-manager
pour générer
sa propre base interne de travail.
Proposition¶
Implémenter le service backend pour GenConfig
Critères d’acceptation¶
- TODO
E5-4 : Embarquer GenConfig dans un conteneur afin d’initier des sessions d’édition de valeurs de configuration¶
Contexte¶
L’application GenConfig devrait pouvoir être utilisée pour éditer les valeurs de configuration au sein de l’application Zéphir.
On devrait pouvoir créer/fermer des sessions d’édition des valeurs de configuration pour plusieurs modèles de configuration en parallèle.
Proposition¶
Extraire l’application GenConfig de l’environnement EOLE et l’adapter afin qu’elle puisse être utilisée dans un conteneur isolé.
Mettre en place un mécanisme afin que l’on puisse créer des sessions distinctes d’édition des valeurs de configuration pour un modèle de configuration donné.
Critères d’acceptation¶
GenConfig fonctionne comme un service Zéphir
On peut ouvrir/accéder à des sessions d’édition de valeurs de configuration
- Des messages sont envoyés sur le bus de message lors des événements suivants:
- Une session d’édition commence
- Des valeurs de configuration sont “enregistrées”
- Une session d’édition se termine
E5-5 : Rendre accessible une session d’édition de configuration sur la passerelle HTTP¶
Contexte¶
Les sessions d’édition des valeurs de configuration devraient être accessibles à l’utilisateur.
Proposition¶
Créer un point d’entrée dans la passerelle HTTP (service kong
) permettant aux utilisateurs d’accéder aux différentes sessions d’édition des valeurs de configuration (GenConfig).
Critères d’acceptation¶
- Les sessions d’édition des valeurs de configuration sont accessibles par les utilisateurs à travers la passerelle HTTP
- Chaque session a une URL unique d’accès
E5-6 : Enregistrer/réutiliser les valeurs de configuration issues d’une session d’édition et les associer à un instance de serveur¶
Contexte¶
Les valeurs de configuration associées à une session d’édition doivent être enregistrées afin de pouvoir être réutilisées plus tard lors de l’application d’un modèle de configuration sur un serveur.
Ces mêmes valeurs de configuration doivent également pouvoir être réutilisées lors de l’ouverture d’une session d’édition des valeurs de configuration.
Proposition¶
Réagir au message émit lors de l’enregistrement des valeurs de configuration par le service GenConfig pour enregistrer l’export des valeurs et implémenter un mécanisme pour pouvoir réutiliser des valeurs de configuration pour une nouvelle session d’édition.
Critères d’acceptation¶
- Les valeurs de configuration sont sauvegardées et associées à un serveur
- On peut réutiliser les valeurs de configuration pour démarrer une session d’édition des valeurs de configuration avec un modèle de configuration
E5-7 : Calculer des paramètres sur le Serveur¶
Contexte¶
Des valeurs de configuration peuvent nécessité d’être récupérer directement sur le serveur. En pratique, cela ne va concerner qu’un nombre limité de valeur, mais il faut une sonde installé sur le serveur qui remonte les valeurs et le changement de valeur de ces variables.
Ces sondes doivent être lancé avant la mise a disposition de la configuration du serveur. Il faut donc que ces sondes s’exécute sans connaitre le contexte.
Proposition¶
A l’appairage la sonde devra remonter le résultat d’un nombre défini de de calcul. C’est donc une des premiers actions que devrait réalisé Salt-minion.
Salt-minion devrait également remonter tout changement dans le résultat des calculs au server-configuration
.
La mise à jour des valeurs provoquera automatiquement la regénération de la configuration.
Critères d’acceptation¶
- la sonde remonte les valeurs a l’appairage d’un serveur
E5-8 : Mettre à jour les configurations suite à une mise à jour d’une sonde¶
Contexte¶
Lorsqu’une sonde signal la modification d’une valeur, celle-ci lance un message pour le signaler. Le server-configuration
doit réagir.
Proposition¶
Lorsque le server-configuration
reçoit le message il devra mettre à jour la configuration et regénérer les paramètres.
Critères d’acceptation¶
- un changement de valeur regénère la configuration du serveur