Project

General

Profile

Tâche #21943

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

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

Added by Olivier FEBWIN almost 2 years ago. Updated almost 2 years ago.

Status:
Fermé
Priority:
Normal
Start date:
11/07/2017
Due date:
% Done:

100%

Estimated time:
6.00 h
Spent time:
Remaining (hours):
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 KB) Fabrice Barconnière, 11/14/2017 02:26 PM

amon262 (23.5 KB) Fabrice Barconnière, 11/14/2017 02:26 PM

Associated revisions

Revision 11105842 (diff)
Added by Fabrice Barconnière almost 2 years ago

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

ref #21943

History

#1 Updated by Fabrice Barconnière almost 2 years ago

  • Tracker changed from Demande to Tâche
  • Parent task set to #21866

#2 Updated by Fabrice Barconnière almost 2 years ago

  • Project changed from Zéphir to Distribution EOLE
  • Status changed from Nouveau to En cours

#3 Updated by Fabrice Barconnière almost 2 years ago

  • Description updated (diff)
  • Assigned To set to Fabrice Barconnière
  • Estimated time set to 6.00 h
  • Remaining (hours) set to 6.0

#4 Updated by Fabrice Barconnière almost 2 years ago

  • 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 Updated by Fabrice Barconnière almost 2 years ago

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 Updated by Fabrice Barconnière almost 2 years ago

  • Status changed from En cours to Résolu
  • % Done changed from 50 to 100
  • Remaining (hours) changed from 6.0 to 0.5

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

#7 Updated by Fabrice Barconnière almost 2 years ago

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 Updated by Olivier FEBWIN almost 2 years ago

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 Updated by Fabrice Barconnière almost 2 years ago

  • Remaining (hours) changed from 0.5 to 0.0

Merci pour le retour.

#10 Updated by Fabrice Barconnière almost 2 years ago

  • Status changed from Résolu to Fermé

Also available in: Atom PDF