Project

General

Profile

Ce Wiki regroupe quelques informations pratiques sur l'utilisation du package Python tflowclient sur certaines machines de Météo-France. La documentation présente dans le code et dans le fichier README.md reste la référence pour les développements futurs.

Nouveautés_par_version

Utilisation de tflowclient à Météo-France

L'idée de ce client est de pouvoir monitorer un peu plus facilement qu'actuellement les expériences de prévision numérique gérées par SMS lorsque l'on ne dispose pas d'un accès graphique. Celui-ci fonctionne en effet intégralement en mode texte ce qui le rend utilisable en Telnet (avec un look digne des années 80s).

Ce client est installé sur différents serveurs d'équipe du CNRM :
  • sxobs1
  • sxproc1
  • sxrecyf2
  • sxalgo1
  • sxcoope1
  • sxprecip
  • sxplasma
  • sxlacy
On le trouve également sur les deux serveurs installés sur des machines DSI :
  • camomille
  • olivette1

Sur tous ces serveurs, le client se trouve sous ~verolive/public/tflowclient (chemin qui peut être placé dans votre $PATH).

Le script tflowclient_cdp présent dans ce répertoire permet d’interagir avec SMS.

Lancement et configuration

Il faut préciser :
  • le nom du serveur auquel on veut se connecter (option -s). Petit piège : pour les utilisateurs du CNRM, il s'agit de leur serveur SMS (cxsmsX avec X entre 1 et 8) pas du serveur SWAPP.
  • le nom d'utilisateur (option -u). Petit piège : il s'agit du nom d'utilisateur Olive (pour les plus anciens, celui-ci est potentiellement différent du mot de passe LDAP).
  • la suite que l'on souhaite monitorer (option -r). En général, il s'agit de votre nom d'utilisateur (mais parfois vous souhaiterez monitorer les expériences d'un ami ou d'une amie).

Exemple : ~verolive/public/tflowclient/tflowclient_cdp -s sms_server -u sms_user -r sms_suite

Le mot de passe associé au compte utilisé n'apparaît pas en clair sur la ligne de commande. Il doit être renseigné dans un fichier ~/.smsrc. Le fichier ~/.smsrc peut contenir plusieurs lignes ; chacune d'elle correspondant à une paire nom du serveur / nom d'utilisateur. Pour l'exemple précédent, il faudrait donc une ligne du type sms_serveur sms_user sms_password (nom du serveur, nom d'utilisateur et mot de passe séparés par des espaces). Ce fichier doit impérativement être en lecture/écriture pour l'utilisateur uniquement (droits "600" en notation octale). La aussi, petit piège : sms_password est le mot de passe qui vous utilisez, par exemple, pour vous connecter à XCDP (ce mot de passe est différent de celui utilisé pour se connecter à l'interface Web de SWAPP).

Pour une utilisation fréquente, Il peut être mal-aisé d'avoir à préciser toutes les options de la ligne de commande. Il est donc possible d'enregistrer des valeurs par défaut dans le fichier de configuration ~/.tflowclientrc.ini. Celui-ci prend la forme suivante :

[cdp]
host=sms_server
user=sms_user
suite=sms_suite
Depuis la version 0.4.0 (17/02/2021), deux "vues" (aka "app") sont disponibles :
  • La vue classique (donnant une vue hiérarchique, en arbre, des différentes tâches et de leur état) : C'est celle qui se lance par défaut.
  • Une vue permettant de supprimer du serveur SMS une ou plusieurs expériences : Elle est accessible en ajoutant -a Cancel sur la ligne de commande.

Description rapide de l'interface

Vue classique

Le script ~verolive/public/tflowclient/tflowclient_demo permet de lancer une interface de démonstration (copie d'écran ci-dessous). Elle permet de se faire une idée et de jouer sans risque (puisqu'elle n'est connectée à aucun serveur).

La colonne de gauche présente la liste des différentes expériences classées par ordre de "d'importance" (e.g. les expériences "completed" se retrouvent en bas) puis par ordre alphabétique. Les expériences que vous aurez "suivies" dans les 3 dernières heures apparaissent en tête (au dessus du tiret) et par ordre alphabétique. Cela permet un accès plus rapide aux expériences que vous jugerez importantes.

La colonne de droite présente l'arbre des différentes tâches et leur statut. Lors de la première visualisation d'une expérience, le serveur est interrogé (et donc les données affichées sont fraîches). En revanche, lors des visualisations suivantes, le rafraîchissement ne sera pas automatique : il faut le demander explicitement en appuyant sur la touche "r" (il doit y avoir au moins 5 secondes entre deux rafraîchissements successifs).

On passe de la colonne de droite à la colonne de gauche en utilisant les flèches ad-hoc du clavier. Au sein des colonnes, les flèches "Haut", "Bas", "Page-Up", "Page-Down", ainsi que les touches "Début" et "Fin" sont utilisables pour naviguer verticalement.

Par défaut, l'arborescence des tâches se déplie lorsqu'il y a des tâches actives, soumises ou "aborted". Il est ensuite possible de plier/déplier manuellement des noeuds en utilisant la barre d'espace (en appuyant deux fois successivement et rapidement sur la barre d'espace, le repliement/dépliement est récursif ; c'est à dire que les éventuelles sous-familles sont elles aussi repliées/dépliées). On peut revenir à la vue initiale en appuyant sur la touche "d". En outre, il est possible de replier tous les noeuds de premier niveau en appuyant sur "f".

Dès que le "curseur" est positionné sur une tâche (celle-ci apparaît alors sur un fond bleu), il est possible :
  • de lancer une commande SMS en appuyant sur la touche "c" ;
  • de visualiser les logs associés à celle-ci en appuyant sur "l". (NB: Selon degré de cloisonnement du réseau, il se pourrait que cette fonctionnalité ne soit pas accessible). Lors de la visualisation des logs, "vim" est utilisé : vous devez quitter "vim" (ECHAP puis ":q") pour revenir à l'interface de tflowclient_cdp.
  • de visualiser les informations associées (SMSTRIES, meters, limits, ...= en appuyant sur "i". Si vous modifiez les informations affichées, il est possible d'envoyer ces changements au serveur SMS en tapant sur "Entrée".

Pour le lancement de commandes, il est possible de sélectionner plusieurs tâches. Pour cela, se rendre sur les différentes tâches concernées et tapez sur "Entrée". Dès lors, lors de l'appuie sur la touche "c" (pour lancer une commande), seules les différentes tâches sélectionnées seront prises en compte. Il est possible de sélectionner toute les tâches "aborted" en appuyant sur la touche "a".

Vue permettant la suppression d'expériences

Le script ~verolive/public/tflowclient/tflowclient_demo -a Cancel permet de lancer une interface de démonstration (copie d'écran ci-dessous). Elle permet de se faire une idée et de jouer sans risque (puisqu'elle n'est connectée à aucun serveur).

  • On se déplace dans la liste des expériences en utilisant les flèches ;
  • La sélection des expériences à supprimer se fait en appuyant sur la barre d'espace ou Entrée ;
  • Pour accéder aux informations de l'expérience située sous le curseur taper sur "i" ;
  • Pour lancer la suppression des expériences sélectionnées, taper sur "c" (il y a une demande de confirmation avant la suppression effective).

Astuce : Lorsque tflowclient_cdp est utilisé, admettons que l'on souhaite supprimer des diagnostiques (situés sous "diagnostics"). Il faudra préciser -r sms_suite/diagnostics -a Cancel (au lieu du -r sms_suite -a Cancel habituel).

Code couleur

Le code couleur utilisé n'est pas exactement celui de XCDP. En effet, pour rester compatible avec le maximum de terminaux (même celui de Microsoft !), seule la palette standard de 16 couleurs est utilisée... cela limite un peu les possibilité !

Personnalisations supplémentaires

Les plus aventureux pourront modifier la palette de couleurs par défaut (via le fichier de configuration) et passer en mode 256 couleurs (si on a la chance d'avoir un terminal moderne). Pour cela, se référer au fichier README.md distribué avec le code.