Project

General

Profile

Tâche #12679

Distribution EOLE - Scénario #14084: Assistance aux utilisateurs (49-51)

Erreur à l'édition de configurations 2.3 sur un serveur Zéphir 2.5.1

Added by Karim Ayari over 7 years ago. Updated over 7 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
08/27/2015
Due date:
% Done:

100%

Estimated time:
2.00 h
Spent time:
Remaining (hours):
0.0

Description

Demande originale de Karim : Plus de détails dans les messages d'erreur

Serait-il possible d'avoir plus de détail sur les messages d'erreur que l'application Zéphir renvoie ?

Par exemple : Détail : Erreur de lecture du dictionnaire : name 'non' is not defined

oui mais quel dictionnaire ?

Associated revisions

Revision d27696ba (diff)
Added by Bruno Boiget over 7 years ago

Correction de problèmes de cache avec les configurations creole 2.3

  • Nettoyage du 'store' de l'objet EoleDict avant chargement des valeurs
  • force le type de dictionnaire à 'dict' dans upgrade.py

ref #12679 @2h

Revision 47fd3009 (diff)
Added by Bruno Boiget over 7 years ago

Modificaiton du message en cas d'erreur de chargement de configuration

  • pas de mentions aux dictionnaire dans le message (inexact selon le cas)
  • affichage du traceback complet dans les logs d'erreur

ref #12679 @20m

History

#1 Updated by Gérald Schwartzmann over 7 years ago

  • Tracker changed from Evolution to Demande

#2 Updated by Bruno Boiget over 7 years ago

  • Subject changed from Plus de détails dans les messages d'erreur to Erreur à l'édition de configurations 2.3 sur un serveur Zéphir 2.5.1
  • Description updated (diff)
  • Category set to Version mineure

En testant une correction pour la connexion de gen_config 2.3 sur Zéphir 2.5, j'ai réussi à reproduire ce type d'erreur.

Après quelques tests, j'ai trouvé un moyen simple de le reproduire :

zn.serveurs.get_dico(81, 'modif_config') --> OK
zn.serveurs.get_dico(81, 'config') -−> OK
zn.serveurs.get_dico(81, 'modif_config') --> NOK ([0, "Erreur de lecture du dictionnaire : name 'oui' is not defined"])

zn est un proxy xmlrpc sur un Zéphir 2.5.1 (image AvecConf)
81 est l'id d'un serveur horus 2.3 académique sur ce Zéphir.

A noter qu'en désactivant le cache des configurations dans Zéphir, le problème n'apparait plus.

#3 Updated by Scrum Master over 7 years ago

  • Parent task set to #14084

#4 Updated by Joël Cuissinat over 7 years ago

  • Estimated time set to 2.00 h
  • Remaining (hours) set to 2.0

#5 Updated by Scrum Master over 7 years ago

  • Status changed from Nouveau to En cours

#6 Updated by Scrum Master over 7 years ago

  • Assigned To set to Bruno Boiget

#7 Updated by Bruno Boiget over 7 years ago

  • Status changed from En cours to Nouveau
  • Assigned To deleted (Bruno Boiget)

Le problème est finalement un peu plus vicieux à reproduire, il semble qu'un enregistrement du serveur soit nécessaire.

Après beaucoup de tests, j'arrive à empêcher le problème de se produire en forçant une réinitialisation de l'objet ConfigParser stocké en cache avant lecture du fichier de configuration (serveurs utilisant la librairie "creole2"). Je n'ai pas réussi à détecter précisement à quel moment les valeurs deviennent corrompues (dans mes tests, la valeur de la variable mode_zephir semble passer à "oui" au lieu de "['oui']" avant le rechargement).

Sans la correction, j'ai également une erreur lors de la remontée de la configuration à l'enregistrement :

2015-12-01T17:44:01.188265+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25] 'Erreur Lors du rechargement de la configuration remont\xc3\xa9e par le serveur 81'
2015-12-01T17:44:01.189214+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25] Traceback (most recent call last):
2015-12-01T17:44:01.189625+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25]   File "/usr/lib/python2.7/dist-packages/zephir/backend/uucp_rpc.py", line 893, in xmlrpc_save_files
2015-12-01T17:44:01.191798+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25]     serv.load_conf('modif_config')
2015-12-01T17:44:01.192288+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25]   File "/usr/lib/python2.7/dist-packages/zephir/backend/lib_backend.py", line 593, in load_conf
2015-12-01T17:44:01.202874+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25]     self.dico.load_values(mode)
2015-12-01T17:44:01.203259+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25]   File "/usr/lib/python2.7/dist-packages/zephir/utils/creolewrap.py", line 459, in load_values
2015-12-01T17:44:01.212600+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25]     self._load_values_creole2(mode, dicos, config_file)
2015-12-01T17:44:01.212944+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25]   File "/usr/lib/python2.7/dist-packages/zephir/utils/creolewrap.py", line 399, in _load_values_creole2
2015-12-01T17:44:01.213330+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25]     self.dico.load_values(config_file, check=False)
2015-12-01T17:44:01.213676+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25]   File "/usr/lib/python2.7/dist-packages/creole2/cfgparser.py", line 1382, in load_values
2015-12-01T17:44:01.215202+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25]     return self._load_values(force=force, check=check)
2015-12-01T17:44:01.215582+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25]   File "/usr/lib/python2.7/dist-packages/creole2/cfgparser.py", line 1397, in _load_values
2015-12-01T17:44:01.215908+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25]     var.val = eval(var.val)
2015-12-01T17:44:01.216203+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25]   File "<string>", line 1, in <module>
2015-12-01T17:44:01.216559+01:00 zephir.ac-test.lan zephir_backend: [HTTPChannel (TLSMemoryBIOProtocol),11,192.168.0.25] NameError: name 'oui' is not defined

#8 Updated by Scrum Master over 7 years ago

  • Status changed from Nouveau to En cours

#9 Updated by Scrum Master over 7 years ago

  • Assigned To set to Bruno Boiget

#10 Updated by Bruno Boiget over 7 years ago

  • % Done changed from 0 to 100
  • Remaining (hours) changed from 2.0 to 0.25

message changé à 'Erreur de lecture de la configuration' + traceback affiché dans alert.log

#11 Updated by Bruno Boiget over 7 years ago

pour tester :

  • mettre en place une machine aca.zephir-2.5.1-avecConf et aca.horus-2.3-instance-default
  • enregistrer horus sur Zéphir (id:81, remonter la conf locale sur Zéphir)
  • sur la page d'état du serveur 81 dans l'application web Zéphir, cliquer sur 'générer' (configuration du serveur) puis revenir sans sauvegarder
  • cliquer sur 'modifier' --> un message d'erreur doit apparaître

faire un delete(recreate) des 2 machines dans nebula, et refaire les tests après installation des paquet candidat sur Zéphir.

#12 Updated by Scrum Master over 7 years ago

  • Status changed from En cours to Résolu

#13 Updated by Lionel Morin over 7 years ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) changed from 0.25 to 0.0

Also available in: Atom PDF