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.
Associated revisions
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
History
#1 Updated by Emmanuel GARETTE over 6 years ago
- Assigned To deleted (
Emmanuel GARETTE)
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 Updated by Klaas TJEBBES over 6 years ago
- Parent task set to #9446
#3 Updated by Emmanuel GARETTE over 6 years ago
- Parent task changed from #9446 to #9534
#4 Updated by Bruno Boiget over 6 years ago
- Status changed from Nouveau to Résolu
- % Done changed from 0 to 100
Appliqué par commit 245c027d9fe4f8d91efed519049188b28c49f0cf.
#5 Updated by Joël Cuissinat over 6 years ago
- Assigned To set to Bruno Boiget
- Remaining (hours) changed from 1.0 to 0.25
#6 Updated by Bruno Boiget over 6 years ago
- Remaining (hours) changed from 0.25 to 0.5
#7 Updated by Bruno Boiget over 6 years ago
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 Updated by Bruno Boiget over 6 years ago
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 Updated by Emmanuel GARETTE over 6 years ago
- Status changed from Résolu to Fermé
- Remaining (hours) changed from 0.5 to 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:~#