Mentions légales du service

Skip to content
Snippets Groups Projects

Various changes to OAR properties generator (including support for setting gpu_model)

Merged Lucas Nussbaum requested to merge oarprop into master
1 unresolved thread

J'ai corrigé le problème concernant gpu_model (qui était ignoré par le générateur), et ai dû au passage faire plusieurs autres changements:

  • j'ai supprimé la gestion du VERBOSE= pour utiliser uniquement VERBOSE=2 (qui est le plus logique)
  • j'ai réécrit spec/oar_properties_spec.rb pour suivre le modèle de spec/oar_properties2_spec.rb, ce qui rend les tests bien plus faciles à maintenir
  • j'ai fait un peu de ménage dans le code

Il y a quelques TODOs que je n'ai pas traité, mais qui devraient plutot faire l'objet de bugs ou de MR futures:

# TODO missing test case: dead nodes (see coverage)
# TODO missing test case: quirk cluster (see coverage)
# TODO missing test case: contiguous-grouped-by-threads (see coverage)
# TODO for gpu_model (and others?) use NULL instead of empty string

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Lucas Nussbaum added 1 commit

    added 1 commit

    • 0dec1207 - [spec] drop useless variable

    Compare with previous version

  • Lucas Nussbaum added 2 commits

    added 2 commits

    • c606c0b8 - [spec] add test case for contiguous-grouped-by-threads
    • 1095dfb0 - [dev/oar-prop] replace empty symbol by text to avoid problem with UTF8 on gitlab

    Compare with previous version

    • Hello, j'ai testée la MR pour le changement de propriété des GPU de graffiti-13 et je me suis rendu compte d'un problème lié aux deux noms possibles des GPU:

      19:09 $ rake gen:oar-properties SITE=nancy CLUSTER=graffiti DO=diff
      Output format: [ '-', 'key', 'value'] for missing, [ '+', 'key', 'value'] for added, ['~', 'key', 'old value', 'new value'] for changed
        graffiti-1:
          ["~", "gpu_model", "GeForce RTX 2080 Ti", "RTX 2080 Ti"]
        graffiti-2: same modifications as above
        graffiti-3: same modifications as above
        graffiti-4: same modifications as above
        graffiti-5: same modifications as above
        graffiti-6: same modifications as above
        graffiti-7: same modifications as above
        graffiti-8: same modifications as above
        graffiti-9: same modifications as above
        graffiti-10: same modifications as above
        graffiti-11: same modifications as above
        graffiti-12: same modifications as above
        graffiti-13:
          ["~", "gpu_model", "Quadro RTX 6000", "RTX 2080 Ti"]

      En l'occurrence, le changement ne devrait concerner que graffiti-13, mais il y a quand même des changements pour les noeuds précédents.

      L'explication se trouve dans l'utilisation du code de https://gitlab.inria.fr/grid5000/reference-repository/-/blob/master/lib/refrepo/gpu_ref.rb

      J'ai introduit le hashage @@new_gpu_names2old_ones et la méthode getGrid5000LegacyNameFor lors de la prise en compte des GPU dans le refrepo (2019) pour ne pas introduire des diff lors des wikigen sur les noms de GPU.

      Le code pour differ ou printer la propriétés gpu_model utilise la méthode, et donc cela explique les changements inattendus.

      Vu le commentaire qu'il y a dans le fichier ci dessus et le bug qui y est référencé, j'aurais du simplement arrêter de renvoyer l'éventuelle valeur du hash. Et on n'aurait pas du continuer à renseigner ce hashage lors de l'ajout des clusters GPU. C'est ce qui pose ce pb de différence à cette MR, et qui a déjà occasionné une erreur lors de la définition des propriétés OAR gpu_model de grouille, pour la partie disque réservable:

      $ oarnodes --sql "cluster='grouille'" |grep -o -e "gpu_model=[^,]*" -e " type=[^ ]*"
      ...
      gpu_model=A100-PCIE-40GB
       type=default,
      gpu_model=A100-PCIE-40GB
       type=default,
      gpu_model=A100
       type=disk,
       type=disk,
      gpu_model=A100

      Les deux derniers gpu_model correspondent aux disques réservables et on voit bien qu'en l'état actuel le code utilise la méthode de translation de nom.

      Je vais m'assigner un bug pour vérifier les propriétés gpu_model de nos clusters à GPU (en principe leur valeur actuelle doit correspondre à la valeur renvoyée par "nvidia-smi").

      En conclusion, je pense que la MR ne doit pas utiliser cette méthode, et je vais arrêter de l'utiliser pour la génération du wiki.

      Edited by RINGOT Patrice
    • oui j'avais vu ces modifs. je pense qu'il faut juste être cohérent entre wiki et propriétés OAR. je n'ai pas d'avis sur la version à garder.

    • j'ai ouvert le bug https://intranet.grid5000.fr/bugzilla/show_bug.cgi?id=13081 sur ce problème spécifiquement (il n'est pas limité à gpu_model)

    • Please register or sign in to reply
  • Lucas Nussbaum added 48 commits

    added 48 commits

    • 1095dfb0...3ca243ac - 27 commits from branch master
    • c29bb60e - [dev/oar-prop] 'if options[:diff]' is not needed since do_diff if only called...
    • 348e969b - [dev/oar-prop] options[:diff] is always true, no need to test here
    • 5aea4c52 - [dev/oar-prop] let's not set values inside ternary operators
    • 3fd9988d - Gemfile.lock: upgrade json gem version to 2.5.1. Needed for Ruby 2.7 compatibility
    • 507db428 - [dev/oar-prop] drop VERBOSE mode selection
    • 9ee2f00c - [dev/oar-prop] Adjust tests output
    • ef99bd98 - [dev/oar-prop] do not ignore gpu_model
    • 1215420a - [dev/oar-prop] Adjust test outputs for oar_properties2_spec
    • 346b26d6 - [spec] move arguments tests to a separate file
    • 597e2d75 - [spec] move helpers code to spec_helper
    • efed03a4 - [spec] Rewrite oar_properties_spec using separate output as in oar_properties2_spec
    • 20e1cfe6 - [dev/oar-prop] drop support for faulty_*
    • 52a60a55 - [dev/oar-prop] Remove now-useless tests
    • 69b65d15 - [dev/oar-prop] drop special exception handling
    • 3866e02d - [dev/oar-prop] drop support for running print/update at the same time as diff...
    • 4585e365 - [dev/oar-prop] better comments
    • 1e5f1f80 - [dev/oar-prop] drop useless variable
    • 1b0111af - [dev/oar-prop] keep track of TODOs
    • fd9dfa33 - [spec] drop useless variable
    • 941dfc59 - [spec] add test case for contiguous-grouped-by-threads
    • 6ad7e1b4 - [dev/oar-prop] replace empty symbol by text to avoid problem with UTF8 on gitlab

    Compare with previous version

  • Lucas Nussbaum added 34 commits

    added 34 commits

    • 6ad7e1b4...d90dad5c - 13 commits from branch master
    • 08373dd4 - [dev/oar-prop] 'if options[:diff]' is not needed since do_diff if only called...
    • 887dc8ae - [dev/oar-prop] options[:diff] is always true, no need to test here
    • 35fe98f3 - [dev/oar-prop] let's not set values inside ternary operators
    • 5afe06c1 - Gemfile.lock: upgrade json gem version to 2.5.1. Needed for Ruby 2.7 compatibility
    • 5127fdde - [dev/oar-prop] drop VERBOSE mode selection
    • 0f74cfa9 - [dev/oar-prop] Adjust tests output
    • 09674fd7 - [dev/oar-prop] do not ignore gpu_model
    • c85dc9b8 - [dev/oar-prop] Adjust test outputs for oar_properties2_spec
    • ce2bf75c - [spec] move arguments tests to a separate file
    • 1f448cac - [spec] move helpers code to spec_helper
    • 800e2282 - [spec] Rewrite oar_properties_spec using separate output as in oar_properties2_spec
    • cf802e9e - [dev/oar-prop] drop support for faulty_*
    • 0b8f0db1 - [dev/oar-prop] Remove now-useless tests
    • 4003a474 - [dev/oar-prop] drop special exception handling
    • 13396a1a - [dev/oar-prop] drop support for running print/update at the same time as diff...
    • 3a0f7d3f - [dev/oar-prop] better comments
    • 8ec96c06 - [dev/oar-prop] drop useless variable
    • cc849e05 - [dev/oar-prop] keep track of TODOs
    • 4bb8256b - [spec] drop useless variable
    • d1e8998b - [spec] add test case for contiguous-grouped-by-threads
    • 9406eba8 - [dev/oar-prop] replace empty symbol by text to avoid problem with UTF8 on gitlab

    Compare with previous version

  • DELABROYE Dimitri added 23 commits

    added 23 commits

    • 9406eba8...c71cc665 - 2 commits from branch master
    • 40a021e8 - [dev/oar-prop] 'if options[:diff]' is not needed since do_diff if only called...
    • 5c49f32c - [dev/oar-prop] options[:diff] is always true, no need to test here
    • 8a6c067f - [dev/oar-prop] let's not set values inside ternary operators
    • 28157e46 - Gemfile.lock: upgrade json gem version to 2.5.1. Needed for Ruby 2.7 compatibility
    • 080a2ca5 - [dev/oar-prop] drop VERBOSE mode selection
    • 7041ba4d - [dev/oar-prop] Adjust tests output
    • 02c570f4 - [dev/oar-prop] do not ignore gpu_model
    • ac6d82b6 - [dev/oar-prop] Adjust test outputs for oar_properties2_spec
    • 9a174cda - [spec] move arguments tests to a separate file
    • 8150b772 - [spec] move helpers code to spec_helper
    • 51156f34 - [spec] Rewrite oar_properties_spec using separate output as in oar_properties2_spec
    • a66acb4f - [dev/oar-prop] drop support for faulty_*
    • 6fd73604 - [dev/oar-prop] Remove now-useless tests
    • 578887f1 - [dev/oar-prop] drop special exception handling
    • 0a5da66d - [dev/oar-prop] drop support for running print/update at the same time as diff...
    • f9f68cbe - [dev/oar-prop] better comments
    • f947fa26 - [dev/oar-prop] drop useless variable
    • 2d649e0c - [dev/oar-prop] keep track of TODOs
    • d8ec9de2 - [spec] drop useless variable
    • bcd0c573 - [spec] add test case for contiguous-grouped-by-threads
    • b5d513fb - [dev/oar-prop] replace empty symbol by text to avoid problem with UTF8 on gitlab

    Compare with previous version

  • DELABROYE Dimitri enabled an automatic merge when the pipeline for b5d513fb succeeds

    enabled an automatic merge when the pipeline for b5d513fb succeeds

  • mentioned in commit 6682d85e

Please register or sign in to reply
Loading