Commit Graph

72 Commits

Author SHA1 Message Date
Guillaume Raffy 6e35053852 fixed bug that caused the price of gflop to actually be the price of flop 2020-06-08 17:15:26 +00:00
Guillaume Raffy bc29b1186e fixes to ClusterStats while attempting to add a new graph show the age of machines
- made ClusterStats work on graffy-ws2 : made code compatible with python3 (still compatible with python2 though)
- added support for physix in addition to simpatix)
- fixed bug
2020-06-08 17:01:02 +00:00
Guillaume Raffy 23fa150cbe fixed bug that caused the value of the reporting_params attribute to become corrupt.
Fixes : Bug 2812 - la mise à jour de physix-master a échoué (parsing de qconf -sconf global)
2020-03-05 10:50:50 +00:00
Guillaume Raffy 347a0c034b ls-dyna is now installed on physix cluster
Ticket n°215786 : installer le logiciel Ls Dyna sur le cluster de calcul de l'IPR

also fixes Bug 2812 - la mise à jour de physix-master a échoué (parsing de qconf -sconf global)
2020-01-24 11:20:24 +00:00
Guillaume Raffy 98c2b62f78 Now the case where the priority of a job is negative is handled
Bug 2809 - la page cluster status ne fonctionne plus (assert in QStatParser.py)
2020-01-17 14:54:02 +00:00
Guillaume Raffy 5fda1388a4 fixed bug that was introduced a few months ago that made Util.py incompatible with python2. However, intranet.ipr.univ-rennes1.fr still uses python2 and as a result the web site was no longer functional once the we site was updated in Bug 2789 - Faire en sorte que la mise à jour jour du site web du cluster puisse se faire de graffy-ws2 2019-11-21 09:00:57 +00:00
Guillaume Raffy 788798c74c fixes made a few weeks ago to make maco's release machanism work from a linux machine (graffy-ws2)
- Bug 2664 - mettre graffy-ws2 en production
2019-11-14 12:08:01 +00:00
Guillaume Raffy e39a65c288 Made clusterconfigurator code comply (mostly) to pylint and mypy best practices while working on bug 2701.
As a result, clusterconfigurator no longer pesses with hardcoded sys.path, we now use PYTHONPATH, which is somewhat cleaner.

As mypy doesn't support python2, I had to migrate code from python2 to python3. Because some libraries are shared between all python code, python2 code using these libraries will be broken while all python code is not upgraded to python3.

Bug 2701 - mettre en place un mécanisme pour éviter le blocage des gpu par des jobs cpu
2019-07-10 08:34:42 +00:00
Guillaume Raffy 13d52fd4d4 cleanup 2019-06-27 09:26:25 +00:00
Guillaume Raffy ac76f82b67 Bug 2680 - Améliorer le support des alimentation redondantes dans PowerDiagram
- après avoir tenté de représenter le powerdiagram en deux modes simultanés (normal et worst_case), j'ai finalement opté pour une option qui permet de choisir un seul mode à la fois. Le mode worst case scenario est actif par défaut parce qu'il est le plus important : il permet de vérifier que le cablage est bien dimensionné en cas de coupure edf ou d'une alim défectueuse. Bien que le mode de calcul soit différent, on retrouve bien la même conso sur edf dans les deux modes.
- amélioration : ajout de la conso en W de chaque appareil (pratique pour vérifier s'il n'y a pas d'incohérence)
2019-06-25 14:23:15 +00:00
Guillaume Raffy 3e0a8ff373 Bug 2514 - mettre à jour le plan de câblage alimentation des serveurs communs
- désormais, les prises des appareils doivent être renseignés, sinon powerdiagram affiche les données qui lui manquent. Ca a notamment permis de détecter un oubli qui faisait qu'un des câbles était affiché plus gros que les autres (16A au lieu de 10A) sans raison apparente.
2019-06-25 07:13:08 +00:00
Guillaume Raffy 7c7d519eaf Bug 2680 - Améliorer le support des alimentation redondantes dans PowerDiagram
- amélioration du code pour que  les alimentations redondantes soient gérées correctement. Il en ressort que plus de câbles sont en surcharge.
- j'en ai profité pour afficher les alims secourues en vert et les non secourues en bleu.
2019-06-24 17:20:49 +00:00
Guillaume Raffy 9aaefd495f Bug 2514 - mettre à jour le plan de câblage alimentation des serveurs communs
amélioration: désormais le diagramme fait bien ressortir les câblages qui méritent de l'attention :
- en rouge les cables en surcharge (dont l'ampérage max peut dépasser la capacité)
- en noir les cables qui n'ont pas de charge

Pour que le rouge soit réservé aux cables à problème, les conventions de couleurs pour les cables non surchargés ont été modifieés : c'est désormais en teintes de bleu.
2019-06-24 12:54:27 +00:00
Guillaume Raffy 889712b356 Bug 2677 - améliorer la lisibilité du powerdiagram en regroupant les noeuds par rack
désormais, le powerdiagram est plus lisible car les noeuds sont regroupés par rack. J'aurais bien aimé que les serveurs soient ordonnés comme dans les racks mais graphviz ne sait pas bien mixer des positions forcées avec des positions libres (lorsque j'ai essayé de le faire, les positions fixées ne l'étaient plus)
2019-06-21 15:17:13 +00:00
Guillaume Raffy e102d33a9d Bug 2672 - le power diagram contient des erreurs (certains serveurs affichent une consommation de 0 W)
- correction du bug (les machines physix.._.. n'étaient pas gérées, alors que les machines simpatix.._.. l'étaient; du coup, j'ai rendu le code plus générique pour qu'il reconnaisse les machines [a-z]+.._..)
2019-06-19 07:31:41 +00:00
Guillaume Raffy 4b1bb04565 Bug 2453 - simpatix50 n'arrive pas à récuperer son adresse ip ipmi via dhcp
désactivation d'ipmi sur les r610 tant que l'on n'a pas trouvé la cause du problème.
2018-10-03 10:32:53 +00:00
Guillaume Raffy 991744baf1 Bug 2447 - les pages "cluster status" et "cluster user guide" affichent des quantités de mémoire erronées
- fixed a bug : now, the displayed memory is correct even if the mem_available sge attribute returns the memory in other units than gigabyte

- also, this commit includes an old improvement that makes executeCommandOn handle an optional user, which was previously slinetly ignored in the case of a local command
2018-09-25 13:48:47 +00:00
Guillaume Raffy a2be664bbe Bug 2412 - la page cluster/UserGuide ne fonctionne plus
- for the sake of debugging, improved the handling of missing data in SimpaDb.sql : now when a data is missing, the exception handler displays a message describing what's missing.
2018-08-28 13:27:29 +00:00
Guillaume Raffy 796ec2d6a5 reformatted code to pep8 convention 2018-08-27 15:17:09 +00:00
Guillaume Raffy e9f3c5a784 reformatted code to pep8 convention 2018-08-27 14:54:55 +00:00
Guillaume Raffy 197e94d320 reformatted code to pep8 convention 2018-08-27 13:32:41 +00:00
Guillaume Raffy c750804914 Bug 2339 - fournir une documentation utilisateur de physix
tentative de correction d'un bug qui cause l'erreur suivante d'apparaitre de temps en temps, à l'occasion du chargement de la page clusteruserguide :


SQLite objects created in a thread can only be used in that same thread.The object was created in thread id 139672342353664 and this is thread id 139672333960960
2018-06-28 12:43:30 +00:00
Guillaume Raffy 64813cb35a Bug 2339 - fournir une documentation utilisateur de physix
- désormais, la page clusteruserguide est générique : elle genere le user guide de simpatix et physix
- désormais, la page clusteruserguide est mise à jour automatiquement : elle génère la liste les noeuds et les gflops dynamiquement en regardant la sortie de qstat et en utilisant la base de données SimpaDb.sql (on a réutilisé les classes qui avaent été écrites pour clusterstatusview)
2018-06-27 13:23:51 +00:00
Guillaume Raffy 2dbf8ceea0 Bug 2332 - mettre en service une page clusterstatus pour physix
- désormais, la page physix cluster status est disponible. Pour cela, il a fallu :
  - ajouter un mécanisme d'export/import de clef publique ssh utilisateur (pour que intranet.ipr.univ-rennes1.fr puisse exécuter des commandes sge sur physix-master)
  - adapter la view clusterstatus pour qu'elle sache gérer les commandes sge déportées. Au final, cette vue permet d'afficher le pages cluterstatus de simpatix (commandes sge locales) et physix (commandes sge déportées)
2018-06-20 08:04:29 +00:00
Guillaume Raffy 879b559db6 Bug 2322 - qlogin ne fonctionne pas sur physix
- now sge uses ssh mode for qlogin (it was the case on simpatix too but it wasn't yet scripted). qlogin using ssh works provided the ports are open.

- also set qsh and qrsh to use ssh mode to be consistent. (although not tested yet)
2018-06-11 16:48:41 +00:00
Guillaume Raffy c4cf33ac38 Bug 2226 - ClusterConfigurator échoue sur physix88 (can't resolve hostname)
- fixed bug introduced recently where the name of the machine was used instead of its fully qualified domain name. This caused ClusetrConfigurator to fail on exec nodes

Bug 2230 - Unifier les flags de ressource gridengine en supprimant les ressources "has_<app>"

- migrated the following complexes:
  - has_matlab2011b -> matlab_version
  - has_dsmcmodfoam -> dsmcmodfoam_version
  - has_meep -> meep_version
  - openfoam_version (int encoding) -> openfoam_version (float encoding)
  
- also disabled obsolete resources (has_molpro2006 and has_molpro2010) on physix as they've been replaced with the better molpro_version.
2018-04-16 09:53:40 +00:00
Guillaume Raffy 05d21bc427 Bug 2218 - la mise à jour de simpatix51 a échoué (ClusterConfigurator)
- Correction : bug introduit récemment lors du refactoring
2018-04-12 14:27:41 +00:00
Guillaume Raffy 7e8edeab20 Bug 2209 - installer gridengine qmaster sur physix-master
fixed bug that causes SgeConfigurator to fail with sge 8.1.9 because a new parameter qsort_args has been added to parallel environment:

command failed : qconf -Ap '/tmp/make'
root@physix-master:/home/graffy# qconf -Ap '/tmp/make'
error: required attribute "qsort_args" is missing
error reading in file
2018-04-09 10:36:55 +00:00
Guillaume Raffy 6601521ff2 Bug 2209 - installer gridengine qmaster sur physix-master
fixed bug that causes SgeConfigurator when the sge user 'root' doesn't yet exists (which is the case on a fresh server install)
2018-04-09 10:34:01 +00:00
Guillaume Raffy 5e959c5c23 Bug 2044 - mettre simpatix88 en production
- mise à la norme pep8 de SgeConfigurator en vue de l'améliorer pour qu'il puisse gérer :
  - 2 clusters différents, dans un court terme, pour mettre physix88 en production dans un nouveau cluster sge (physix))
  - 2 backends différents (sge et slurm), dans un plus long terme
  
nb: pour la validation pep8, j'ai été obligé d'ajouter un projet eclipse python appelé simpapy pour SimpaScripts/Python
2018-03-26 14:10:33 +00:00
Guillaume Raffy cb84052d73 Bug 1803 - Créer un outil de suivi des achats et d'inventaire IPR-ISCR : ajout de la prise en compte des maintenances 2018-02-14 15:18:22 +00:00
Guillaume Raffy 8e32bd1bc8 Bug 1803 - Créer un outil de suivi des achats et d'inventaire IPR-ISCR
- ajout de l'application DebtComputer qui permet de calculer l'argent injecté par un utilisateur dans le pot commun, et l'usage dont il en bénéficie 

nb: les maintenances ne sont pas encore prises en compte
2018-02-13 16:49:21 +00:00
Guillaume Raffy c309da0ef4 Bug 2120 - ajouter des stats sur l'évolution du cluster
- the cluster evolution graphs are now displayed on the intranet :
   - I had to make python graphing code handle debian 7 version of matplotlib; this was rather painful)
   - I had to handle the case where the default matplotlib backend doesn't work (because of no display)
2018-02-08 10:49:39 +00:00
Guillaume Raffy 7ca596a609 Bug 2120 - ajouter des stats sur l'évolution du cluster
- improvement : the figures can now be saved as svg files. This mechanism will be used by the intranet to display the cluster evolution graphs
- also removed debug prints that pollute stdout
2018-02-07 10:07:56 +00:00
Guillaume Raffy 3ba55f8758 Bug 1978 - trouver un moyen de rationaliser l'achat du r930 cper 2017
- refactoring : improved so that now PowerDiagram also uses the Inventory class instead of duplicating code. This will:
  1. make the code easier to maintain when there is a change in the inventory database tables
  2. make the code easier to adapt when we switch from a sql file to a mysql server
2018-02-07 08:43:05 +00:00
Guillaume Raffy 7c6656dc69 Bug 1978 - trouver un moyen de rationaliser l'achat du r930 cper 2017
- refactored so that Inventory class is now reusable (for example for PowerDiagram)
2018-02-06 17:42:18 +00:00
Guillaume Raffy b8c09eea89 Bug 1978 - trouver un moyen de rationaliser l'achat du r930 cper 2017
- refactored so that it now abstracts the database provider ; this way, accessing the inventory database through a database server instead of a sdl dump file is mostly transparent
2018-02-06 17:37:15 +00:00
Guillaume Raffy defc6936b5 Bug 1978 - trouver un moyen de rationaliser l'achat du r930 cper 2017
- préparation de graphique sur les investisseurs du cluster
2018-02-02 10:32:54 +00:00
Guillaume Raffy b7c60939a7 Bug 2044 - mettre simpatix88 en production
- added debug informations that helped debugging power diagram database issue while working on bug 2044
2018-02-01 10:55:08 +00:00
Guillaume Raffy 95e3f4a3ed Bug 1474 - clarifier la configuration électrique du rack3
From now on, the servers power diagram is available on http://intranet.ipr.univ-rennes1.fr/simpaweb/itteam/PowerDiagram/

- note : I initially thought I would use the jit (JavaScript InfoVis Toolkit) to display sexy interactive diagrams but I finally decided not to (although I managed to run an example) because:
  - svg is more printer-friendly, and could be saved as a file
  - generating jit data would have required more work, which doesn't add much value
  So, in a further commit, I will clean up the jit-related mess
2016-09-21 13:24:19 +00:00
Guillaume Raffy 8770bd488a Bug 1474 - clarifier la configuration électrique du rack3 : réorganisation du code pour que la génération du diagramme puisse s'effectuer par le site web intranet 2016-09-20 16:05:41 +00:00
Guillaume Raffy 3ad6206363 Bug 1458 - la page clusterstatus ne répond plus
- drastically improved the performance of JobsState.AddJob call (used for example in clusterstatus page) in case of big job arrays. As an example : clusterstatus page took 30 seconds when there was a job array of 500 elements ; this now takes 3 seconds. The culprit was a conflicting hash (I don't remember why I didn't make a non conflicting hash in the first place), that was the same for each job array element.
2016-09-06 09:47:56 +00:00
Guillaume Raffy 1cff78822e Bug 1458 - la page clusterstatus ne répond plus
- slightly improved speed by preventing unnecessary requests of job array element details

However, the big hit in performance is still in the dictionary of jobs in JobsState
2016-09-06 09:15:55 +00:00
Guillaume Raffy c0fa682d20 Bug 1322 - l'état des machines affichée par la page clusterstatus n'est pas fiable
désormais, pour éviter toute confusion, pour toutes le machines qui ne répondent pas :
- le load n'est plus affiché
- le bouton power affiche unknown
2016-05-03 12:19:24 +00:00
Guillaume Raffy 1e6a5247d8 j'ai oublié de publier ceci pour la résolution du bug 649 2014-06-19 16:15:11 +00:00
Guillaume Raffy d23c25ba06 Bug 521 - le cluster ne prend plus de jobs et qstat ne marche pas : correction qui fait que le code est beaucoup plus performant quand il y a des gros job array (alexandra a des job array de 1400 éléments) 2014-01-17 14:49:37 +00:00
Guillaume Raffy 5d10b89ee8 Bug 521 - le cluster ne prend plus de jobs et qstat ne marche pas : ajout d'un hack pour désactiver la collecte d'infos sur l'utilisation mémoire quand il y a trop de jobs (ou de taches) car ce code est excessivement lent et paralyse sge_qmaster. En attendant de trouver un vrai correctif 2014-01-15 13:43:52 +00:00
Guillaume Raffy 600db53653 Bug 289 - ajouter un mécanisme qui empêche la saturation de la mémoire sur un noeud : ajout de l'affichage de l'utilisation mémoire des jobs. Ce n'est pas encore peaufiné mais l'essentiel est là 2013-12-06 10:41:50 +00:00
Guillaume Raffy 9da884ce7f correction d'un problème qui faisait que clustercontroller ainsi que la page web clusterstatus plantait losque'une machine était réaffectée à une autre queue (et donc qu'une queuemachine était marquée comme obsolète) 2013-04-19 09:00:29 +00:00
Guillaume Raffy bf472a82f4 correction d'un problème qui faisait que clustercontroller ainsi que la page web clusterstatus plantait losque'une machine était réaffectée à une autre queue (et donc qu'une queuemachine était marquée comme obsolète) 2013-04-19 09:00:01 +00:00