Tâche #9452
Distribution EOLE - Scénario #9534: Avoir un message d'erreur dans toutes circonstances pour les commandes EOLE
pas de message d'erreur explicite si "raise" dans instance/reconfigure
Description
Suite à une modification malheureuse dans reconfigure j'ai :
-------------------------------------------------------------------------------------------------------------------------------------------------------------- Préparation pour reconfigure -------------------------------------------------------------------------------------------------------------------------------------------------------------- root@amon:~# echo $? 1
Il faut au moins faire apparaitre un message d'erreur.
Révisions associées
Correction de la récupération de messages d'erreur à divers endroits
remplacement de tous les appels à err.message suivant le cas:- seulement err dans les appels au logger
- unicode(err, 'utf-8') pour les messages retransmis/concaténés
- str(err) pour les appels aux fonctions de log Zéphir
Fixes #9452 @2h
Correction typo dans server.py
ref #9452
Correction de la conversion en unicode de messages d'exceptions
Après tests, les modifications suivantes évitent les erreurs d'encoding:- messages d'erreurs envoyés à response() de creoled : str(err)
- conversion interne en unicode: utiliser unicode(str(err), encoding)
ref #9452 @1h
Plus d'appels a err.message + nettoyage sur le format des chaînes
ref #9452 @2h
Amélioration de la traduction des erreurs de configuration des source APT
ref #9452 @15m
Historique
#1 Mis à jour par Emmanuel GARETTE il y a plus de 9 ans
- Assigné à
Emmanuel GARETTEsupprimé
Je pensais ajouter un "print" mais les messages peuvent apparaitre en double. C'est trop compliquer pour que je puisse résoudre le problème.
#2 Mis à jour par Klaas TJEBBES il y a plus de 9 ans
- Tâche parente mis à #9446
#3 Mis à jour par Emmanuel GARETTE il y a plus de 9 ans
- Tâche parente changé de #9446 à #9534
#4 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit 245c027d9fe4f8d91efed519049188b28c49f0cf.
#5 Mis à jour par Joël Cuissinat il y a plus de 9 ans
- Assigné à mis à Bruno Boiget
- Restant à faire (heures) changé de 1.0 à 0.25
#6 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Restant à faire (heures) changé de 0.25 à 0.5
#7 Mis à jour par Bruno Boiget il y a plus de 9 ans
après recherche avec Emmanuel, le problème provient du fait que le message d'erreur est récupéré avec err.message.
Dans certains cas, cette variable n'est pas renseignée (ex: pour une erreur d'ouverture de fichier, message est vide il semble calculé à l'appel de str ou unicode sur l'exception).
J'ai remplacé toutes les occurences dans les fichiers du projet Creole. après vérification des corrections, il faudrait faire la même chose avec le projet pyeole).
#8 Mis à jour par Bruno Boiget il y a plus de 9 ans
j'ai profité de la correction de cette demande pour faire également du nettoyage dans la librairie pyeole:
- remplacement des appels à err.message par str(err). Dans le cas ou le résultat doit être en unicode, utilisation de normalize(str(err)) (normalize est dans pyeole.encode)
- ménage dans les différentes déclarations de chaînes (ajout de u'' sur des chaines dans pkg.py, lock.py, + quelques ajouts de chaînes internationalisées)
#9 Mis à jour par Emmanuel GARETTE il y a plus de 9 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) changé de 0.5 à 0.0
Ok pour l'exemple vu avec Bruno.
root@amonecole:~# reconfigure -------------------------------------------------------------------------------------------------------------------------------------------------------------- Début de configuration -------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------- Préparation pour reconfigure -------------------------------------------------------------------------------------------------------------------------------------------------------------- [Errno 2] No such file or directory: '/etc/eole/.container_instance.lock' root@amonecole:~#