Projet

Général

Profil

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

Ajouté par Karim Ayari il y a plus de 8 ans. Mis à jour il y a plus de 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
27/08/2015
Echéance:
% réalisé:

100%

Temps estimé:
2.00 h
Temps passé:
Restant à faire (heures):
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 ?

Révisions associées

Révision d27696ba (diff)
Ajouté par Bruno Boiget il y a plus de 8 ans

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

Révision 47fd3009 (diff)
Ajouté par Bruno Boiget il y a plus de 8 ans

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

Historique

#1 Mis à jour par Gérald Schwartzmann il y a plus de 8 ans

  • Tracker changé de Evolution à Demande

#2 Mis à jour par Bruno Boiget il y a plus de 8 ans

  • Sujet changé de Plus de détails dans les messages d'erreur à Erreur à l'édition de configurations 2.3 sur un serveur Zéphir 2.5.1
  • Description mis à jour (diff)
  • Catégorie mis à 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 Mis à jour par Scrum Master il y a plus de 8 ans

  • Tâche parente mis à #14084

#4 Mis à jour par Joël Cuissinat il y a plus de 8 ans

  • Temps estimé mis à 2.00 h
  • Restant à faire (heures) mis à 2.0

#5 Mis à jour par Scrum Master il y a plus de 8 ans

  • Statut changé de Nouveau à En cours

#6 Mis à jour par Scrum Master il y a plus de 8 ans

  • Assigné à mis à Bruno Boiget

#7 Mis à jour par Bruno Boiget il y a plus de 8 ans

  • Statut changé de En cours à Nouveau
  • Assigné à Bruno Boiget supprimé

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 Mis à jour par Scrum Master il y a plus de 8 ans

  • Statut changé de Nouveau à En cours

#9 Mis à jour par Scrum Master il y a plus de 8 ans

  • Assigné à mis à Bruno Boiget

#10 Mis à jour par Bruno Boiget il y a plus de 8 ans

  • % réalisé changé de 0 à 100
  • Restant à faire (heures) changé de 2.0 à 0.25

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

#11 Mis à jour par Bruno Boiget il y a plus de 8 ans

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 Mis à jour par Scrum Master il y a plus de 8 ans

  • Statut changé de En cours à Résolu

#13 Mis à jour par Lionel Morin il y a plus de 8 ans

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) changé de 0.25 à 0.0

Formats disponibles : Atom PDF