Projet

Général

Profil

Tâche #21943

Scénario #21866: Traitement express MEN (46-48)

ARV - Error: unable to get variable from Zéphir

Ajouté par Olivier FEBWIN il y a plus de 6 ans. Mis à jour il y a plus de 6 ans.

Statut:
Fermé
Priorité:
Normal
Début:
07/11/2017
Echéance:
% réalisé:

100%

Temps estimé:
6.00 h
Temps passé:
Restant à faire (heures):
0.0

Description

Je souhaite ajouter un nouveau modèle de tunnel via l'ARV de notre Sphynx 2.5.2
Lors que je sélectionne un module dans "Module Zéphir", j’obtiens l'erreur " Error: unable to get variable from Zéphir".
Je reproduis cette erreur sur mes 3 Sphynx 2.5.2 ; le problème vient donc certainement de notre Zéphir 2.5.2

amon252 (19,5 ko) Fabrice Barconnière, 14/11/2017 14:26

amon262 (23,5 ko) Fabrice Barconnière, 14/11/2017 14:26

Révisions associées

Révision 11105842 (diff)
Ajouté par Fabrice Barconnière il y a plus de 6 ans

Zéphir renvoyait None dans le libellé d'une variable creole 2.5.2 si celui-ci n'existait pas

ref #21943

Historique

#1 Mis à jour par Fabrice Barconnière il y a plus de 6 ans

  • Tracker changé de Demande à Tâche
  • Tâche parente mis à #21866

#2 Mis à jour par Fabrice Barconnière il y a plus de 6 ans

  • Projet changé de Zéphir à Distribution EOLE
  • Statut changé de Nouveau à En cours

#3 Mis à jour par Fabrice Barconnière il y a plus de 6 ans

  • Description mis à jour (diff)
  • Assigné à mis à Fabrice Barconnière
  • Temps estimé mis à 6.00 h
  • Restant à faire (heures) mis à 6.0

#4 Mis à jour par Fabrice Barconnière il y a plus de 6 ans

  • Fichier amon252 ajouté
  • Fichier amon262 ajouté
  • % réalisé changé de 0 à 50
  • Reproduit avec un Sphynx 2.5.2 et Zéphir 2.5.2, 2.6.0, 2.6.1, 2.6.2
  • Pas reproduit avec Sphynx 2.6 et Zéphir 2.6
Pour reproduire, enregistrer un Sphynx 2.5.2 sur un Zéphir 2.6.2 (sachant qu'il faudra corriger sur Zéphir 2.5.2)
  • lancer ce code python sur Sphynx :
    from arv.lib.usezephir import Zephir
    
    zephir = Zephir("arv", "eole")
    
    modules = zephir.zephir.modules.get_module()
    amon262_id = [module['id'] for module in modules[1] if module['libelle'] == 'amon-2.6.2'][0]
    amon252_id = [module['id'] for module in modules[1] if module['libelle'] == 'amon-2.5.2'][0]
    
    variables_amon262 = zephir.get_variables(amon262_id)
    variables_amon252 = zephir.get_variables(amon252_id)
    
Sur Zéphir, dans /usr/lib/python2.7/dist-packages/zephir/backend/xmlrpceole.py :
  • ajouter self.allowNone = True dans la méthode __init__ de la classe XMLRPCEole permet de résoudre le problème.
Malgré cela, les dictionnaires renvoyés sont différents :

En 2.6.2, pour les variables n'ayant pas de libellé, on retrouve le nom de la variable dans le champ correspondant au libellé, donc on ne peut pas avoir None.
En 2.5.2, pour les variables n'ayant pas de libellé, on retrouve None dans le champ correspondant.

Cela fait penser à un changement de comportement de Creole/Tiramisu car rien n'a été touché de ce côté dans Zéphir et Sphynx.

#5 Mis à jour par Fabrice Barconnière il y a plus de 6 ans

allow_None = True n'est pas une bonne idée car cela change "en profondeur" le comportement de Zéphir.
Il faut intégrer le fait que Tiramisu renvoie None si pas de libellé de variable dans Zéphir.

#6 Mis à jour par Fabrice Barconnière il y a plus de 6 ans

  • Statut changé de En cours à Résolu
  • % réalisé changé de 50 à 100
  • Restant à faire (heures) changé de 6.0 à 0.5

corrigé sur Zéphir 2.5.2, 2.6.0, 2.6.1 (et 2.6.2).
Journaux alimentés.

#7 Mis à jour par Fabrice Barconnière il y a plus de 6 ans

Bonjour Olivier,

peux-tu me confirmer que le problème est réglé en mettant à jour le serveur Zéphir en candidate :
  • Passer sur le dépôt candidat : Query-Auto -C
    Mise à jour le vendredi 17 novembre 2017 08:11:54
    *** zephir 2.5.2 (0000000A) ***
    
    Maj-Auto - (VERSION CANDIDATE) - Augmenter le niveau de mise à jour peut empêcher de revenir au niveau de mise à jour stable.
    Voulez-vous continuer ? [oui/non]
    [non] : o
    Configuration du dépôt Ubuntu avec la source test-eole.ac-dijon.fr
    Configuration du dépôt EOLE avec la source eole.ac-dijon.fr
    Action update pour root                                                                                           
    Action list-upgrade pour root
    0 nouveau, 8 mis à jour, 0 à enlever
    Paquets à mettre à jour : 
        eole-sso (2.5.2-27) (root)
        eole-sso-server (2.5.2-27) (root)
        python-eolesso (2.5.2-27) (root)
        zephir-backend (2.5.2-39) (root)
        zephir-common (2.5.2-39) (root)
        zephir-dictionnaires (2.5.2-39) (root)
        zephir-parc (2.5.2-39) (root)
        zephir-web (2.5.2-39) (root)
    
Le correctif se trouve dans les paquets zephir :
  • apt-eole install zephir-backend zephir-common zephir-dictionnaires zephir-parc zephir-web
  • Repasser sur le dépôt stable : Query-Auto
  • reconfigure

#8 Mis à jour par Olivier FEBWIN il y a plus de 6 ans

Bonjour Fabrice,

Je te confirme que le problème est bien réglé après avoir passé ces mises à jour en candidate.

Merci beaucoup.

#9 Mis à jour par Fabrice Barconnière il y a plus de 6 ans

  • Restant à faire (heures) changé de 0.5 à 0.0

Merci pour le retour.

#10 Mis à jour par Fabrice Barconnière il y a plus de 6 ans

  • Statut changé de Résolu à Fermé

Formats disponibles : Atom PDF