Epic 13 : Création d’une « sonde » pour les clients

Objectif

Lors de la génération des configurations, nous avons besoin de connaître des valeurs liées au serveur physique (matériel, os, adresses mac, nom des interfaces…). Pour cela, nous allons utiliser les « grains » Saltstack pour récupérer ces valeurs.

Dans cette epic, nous devons :

  • inventorier des variables nécessaires dans les dicos Eole 2.5, 2.6, 2.7
  • identifier les variables nécessaires existantes dans SaltStack
  • identifier les variables nécessaires manquantes dans SaltStack, et définir comment les créer
  • récupérer ces valeurs dans Salt
  • mapper ces valeurs pour les attacher à l’objet serveur
  • définir un message sur le contrôleur Salt permettant au service “Serveur” de venir interroger ces valeurs
  • créer un événement signalant une modification de ces valeurs
  • dans l’UI, afficher ces valeurs (dans un onglet ?) en détail de serveur

Proposition

  • Les fonctions sont des fonctions d’environnement par défaut (exécuter sur le serveur)
  • Seul EOLE peut faire des fonctions Zéphir
  • Les fonctions sont reconnues comme Zéphir si elles ont un décorateur particulier.

Acceptation

  • Après avoir attaché un module à Zéphir

    • aller dans l’UI voir le détail du serveur
    • ==> on y trouve les valeurs
  • Aller sur le serveur,

    • forcer le changement d’une valeur
    • ==> (attendre ?)
    • ==> aller dans l’UI, voir la valeur modifiée

msc {
   hscale = "1";

   servermodel,config,server,saltmaster,minion ;

   servermodel=>config [ label = "Dicos" ] ;
   server>>saltmaster [ label = "Création d'un serveur"] ;
   server>>config [ label = "Création d'un serveur"] ;
   saltmaster=>servermodel [ label = "Sondes"];
   |||;
   minion=>saltmaster [ label = "Appairage" ];
   saltmaster=>minion [ label = "Envoi des fichiers"];
   saltmaster>>server [ label = "Minion est prêt"];
   server=>minion [ label = "Données d'environnement"];
   server=>config [ label = "Mise à jour des données d'environnement"];
   |||;
}