Feature #245
Details στους exception handlers
Status: | Closed | Start date: | 03/08/2011 | |
---|---|---|---|---|
Priority: | High | Due date: | 04/04/2011 | |
Assignee: | Giorgos Verigakis | % Done: | 0% |
|
Category: | Cyclades API | Spent time: | - | |
Target version: | - |
Description
Οι handlers να γεμίζουν το πεδίο "details" του fault όταν κάνουν except.
Γενικά να γίνει λίγο πιο fine grain (όπου μπορεί) το exception handling.
Related issues
Associated revisions
Move to OpenStack API v1.1
- Removes piston dependency.
- Adds dateutil dependency.
Fixes #183 - Implement /servers
Fixes #185 - Implement /images
Fixes #245 - Details in exception handlers
Fixes #249 - Metadata handling
Fixes #253 - Transition to OpenStack API v1.1
Fixes #255 - Fix XML for addresses
Fixes #287 - Piston related bug
Fixes #289 - Support both XML and JSON
Fixes #309 - GUI not refreshing
Fixes #339 - Support API extensions
Fixes #359 - action returns serviceUnavailable
Fixes #361 - return dates with timezones
Refs #301 - Sanitization of API
Refs #315 - Replace API v1.1
History
#1 Updated by Markos Gogoulos about 13 years ago
οσον αφορα το logging μπαινει πλεον και το exception traceback περα απο το μηνυμα λαθους, με τη χρηση της log.exception (αντι της log.error)
#2 Updated by Markos Gogoulos about 13 years ago
Θα χρειαστεί να αλλάξει ριζικά το fault factory (api/faults.py), μιας και έτσι όπως είναι υλοποιημένο δεν μπορεί να πάρει τα details υπόψιν
#3 Updated by Vangelis Koukis about 13 years ago
- Status changed from New to Assigned
ΟΚ, αλλάξτε το fault factory ώστε να επιστρέφει και details στο αντίστοιχο HTTP response.
#4 Updated by Vangelis Koukis about 13 years ago
Είδα το commit 6b83d46b47f9d24aede4d97619e4ffdbf58119cf [improve error logging].
Με runserver βλέπω τα εξής:
[09/Mar/2011 04:22:33] "GET /static/pencil.png HTTP/1.1" 200 2858
[09/Mar/2011 04:22:37] "POST /api/v1.0/servers/1005/action HTTP/1.1" 400 11
[09/Mar/2011 04:22:37] "GET /static/close.png HTTP/1.1" 200 1987
[09/Mar/2011 04:22:39] "GET /machines/standard HTTP/1.1" 200 6046
[09/Mar/2011 04:22:39] "GET /api/v1.0/servers/detail HTTP/1.1" 200 3889
[09/Mar/2011 04:22:42] "GET /static/h30.png HTTP/1.1" 200 278
[09/Mar/2011 04:22:44] "POST /api/v1.0/servers HTTP/1.1" 400 11
[09/Mar/2011 04:22:46] "GET /machines/standard HTTP/1.1" 200 6046
Πώς ακριβώς μπορώ να δω την καταγραφή του traceback του exception;
Μπορείτε να το κάνετε να βγάζει το log στην οθόνη [στο stderr του runserver] ή σε αρχείο;
Γιατί τώρα βλέπω ότι το POST επιστρέφει 400, αλλά δεν έχω τρόπο να δω τι συνέβη και δεν φαίνεται να υπάρχει κάπου το traceback.
#5 Updated by Vangelis Koukis about 13 years ago
Επίσης, σχετικό με το πώς επιστρέφονται οι απαντήσεις στον πελάτη.
Το API πρέπει να υποστηρίζει κανονικά απαντήσεις σε json και σε xml.
Στο api/handlers.py:256 έχει τώρα:
return HttpResponse(json.dumps(ret), mimetype="application/json", status=202)
Τώρα έχει hardcoded το application/json.
Αυτό πρέπει να αλλάξει ώστε να επιστρέφονται σωστά και τα δύο είδη απαντήσεων ανάλογα με το τι έχει ζητήσει ο πελάτης.
#6 Updated by Vangelis Koukis about 13 years ago
- Assignee changed from Dimitris Moraitis to Giorgos Verigakis
Αυτό το κάνω assign στο Γιώργο το Βεριγάκη, θα αναλάβει διορθώσεις στον Python κώδικα, δείτε τα υπόλοιπα γιατί έχουν μαζευτεί πολλά πράγματα που πρέπει να υλοποιηθούν.
#7 Updated by Vangelis Koukis about 13 years ago
- Due date set to 04/04/2011
#8 Updated by Vangelis Koukis about 13 years ago
- Status changed from Assigned to Closed
Η νέα υλοποίηση επιστρέφει αντικείμενα cloudFault με συμπληρωμένο το πεδίο message ανάλογα με την περίσταση. Όσο γίνεται development, στα details του fault περιέχεται το πλήρες stack trace.