Feature #213
Error Handling API (Django) - GUI
Status: | Closed | Start date: | 02/11/2011 | |
---|---|---|---|---|
Priority: | High | Due date: | 04/01/2011 | |
Assignee: | Christos Psaltis | % Done: | 0% |
|
Category: | old_synnefo | Spent time: | - | |
Target version: | - |
Description
Να γίνεται error handling στο UI και να παρουσιάζονται τα αντίστοιχα μηνύματα στο χρήστη
Related issues
Associated revisions
customize error messages
Refs: #213
fix destroy server action behavior on the gui
Refs #213
on the gui show which server gives error
when executing an action on the list view of the gui, show server and error if
action was not run
Refs #213
display error if backend does not respond to actions - Refs #213
History
#1 Updated by Markos Gogoulos over 13 years ago
έχει ξεκινήσει το error handling στο synnefo. Δυο περιπτώσεις καλύπτονται για την ώρα
1)το rapi δεν μπορεί να συνδεθεί σωστά με το ganeti. Ο χρήστης παίρνει μήνυμα οτι υπάρχει πρόβλημα στο backend, και μένει να προστεθεί alerting/logging προς τους admins.
2)περιπτωση οπου το ui παίρνει timeouts ενώ προσπαθεί να συνδεθεί με το rapi. Για την ώρα το βάλαμε 10 δευτερόλεπτα, και ο χρήστης παίρνει μηνυμα του τύπου 'τσεκάρετε τη σύνδεση σας.'
έχει μπει και το σχετικό documentation στο
http://trac.cslab.ece.ntua.gr:8081/cloud/wiki/DesignImplAPI
#2 Updated by Markos Gogoulos over 13 years ago
προστεθηκε στο standard view η συναρτηση ajax_error(jqXHR) η οποια δεχεται το error και εκτυπωνει αναλογο μηνυμα.
Χρειαζεται τωρα να φτιαξουμε ενα action diagram, ωστε να γνωριζουμε τι errors μπορει το καθε action να φερει.
Σε συνδυασμο με τις αλλαγες που πρεπει να γινουν στα αντιστοιχα handlers φυσικα, για το τι http status θα επιστρεφουν σε καθε περιπτωση
#3 Updated by Christos Psaltis over 13 years ago
- Status changed from New to Feedback
Στο home.html υπάρχει μια σειρά από μυνήματα που εμφανίζονται στον τελικό χρήστη ανάλογα με τον κωδικό λάθους. Τα μηνύματα είναι μεταφράσιμα και καλούνται και από το standard και από to list view. Υπάρχει κάτι που θα θέλατε να αλλάξει/προστεθεί;
#4 Updated by Vangelis Koukis over 13 years ago
Δοκιμάζω με το GUI, ενώ δεν τρέχει ο server του Django και το GUI μου βγάζει λάθος "Error! An error has happened. Our administrators have been notified."
Για αναπαραγωγή του bug:
α) ξεκινάω τον runserver
β) φορτώνω το GUI
γ) σκοτώνω τον runserver
δ) ζητάω μια ενέργεια σε VM.
Θα έπρεπε να υπάρχει χωριστό λάθος:
"Could not contact the service. Please check your network connectivity and try again."
#5 Updated by Markos Gogoulos over 13 years ago
έγινε η αλλαγή του μηνύματος
#6 Updated by Vangelis Koukis over 13 years ago
Υπάρχουν δύο θέματα ακόμη:
α) όταν δεν έχουν οριστεί images ή flavors στον server, το GUI βγάζει το default μήνυμα λάθους, που αναφέρεται σε πρόβλημα δικτυακής σύνδεσης. Πρέπει να βγάζει δύο διακριτά μηνύματα, ένα όταν ο αριθμός των images είναι μηδέν, ένα όταν ο αριθμός των flavors είναι μηδέν:
"Cannot show the Create machine wizard: No images found."
"Cannot show the Create machine wizard: No machine configurations found."
β) Πρέπει να φύγουν όλα τα κουτιά επιβεβαίωσης ενεργειών κι όλα τα κουτιά προβολής επιτυχίας ή αποτυχίας μετά από ενέργεια. Τα κουτιά επιβεβαίωσης θα γίνουν όπως προδιαγράφεται στο #209. Για τα κουτιά επιτυχούς/ανεπιτυχούς υποβολής δουλειάς:
β1) Αν έχει υπάρξει αποτυχία, θα λειτουργεί όπως προδιαγράφεται στο #209. Το κείμενο του λάθους θα εμφανίζεται αν ο χρήστης επιλέξει να δει τις λεπτομέρειες του σφάλματος που συνέβη, ως εξής:
Problem
The server could not... blah blah
Code: 505
Details: details από το cloudFault
Το "Problem" είναι bold, λίγο μεγαλύτερο, το κείμενο είναι κανονικά γράμματα, το "Code:" και το "Details" είναι bold.
#7 Updated by Vangelis Koukis over 13 years ago
- Status changed from Feedback to Assigned
#8 Updated by Markos Gogoulos over 13 years ago
Το α) έγινε
#9 Updated by Vangelis Koukis over 13 years ago
ΟΚ, δείτε και τα υπόλοιπα.
Για να μην χρειάζεται κανείς να ψάχνει το git log με βάση τις ημερομηνίες για να βρει την αντίστοιχη αλλαγή, καλό είναι να αναφέρεται ο αριθμός του commit στο σχόλιο που προσθέτουμε στο ticket. Με το που δει το redmine ότι αναφέρεσαι στα a5093da και 7d311ba, τα βγάζει ακριβώς δίπλα στο web interface, για να τα βλέπεις με ένα κλικ.
#10 Updated by Vangelis Koukis over 13 years ago
Συνεχίζει να υπάρχει το πρόβλημα που περιγράφεται στις σημειώσεις 4 και 5, λίγο παραπάνω.
Όταν σκοτώσω τον runserver ενώ το GUI είναι φορτωμένο, το GUI επιστρέφει στο χρήστη λάθος μήνυμα για πρόβλημα "Malformed request", ενώ το πρόβλημα πρέπει να είναι "έκανα timeout ή έφαγα connection refused ή κάτι ανάλογο". Το μήνυμα προδιαγράφεται ακριβώς στη σημείωση 4:
https://code.grnet.gr/issues/213#note-4
Επίσης, δεδομένου ότι ο [verigak] έχει αναλάβει το #301, πρέπει να τρέξει το (β) παραπάνω: πρέπει να φύγουν όλα τα έξτρα κουτιά επιβεβαίωσης και σφάλματος, και να ενταχθεί η λειτουργικότητά τους σε αυτή των confirmations, #209.
#11 Updated by Vangelis Koukis over 13 years ago
- Due date set to 03/25/2011
Διευκρίνιση από τη σημερινή συνάντηση:
Πρέπει να μπορεί να απαντηθεί σαφώς η συμπεριφορά του GUI στις εξής περιπτώσεις:
α) μίλησα με τον server, γύρισε 200, 202
β) μίλησα με τον server, γύρισε 304
γ) μίλησα με τον server, γύρισε ΛΑΘΟΣ: 400, 403, 500
δ) δεν μίλησα με τον server, πήρα timeout, ή έφαγα connection refused
Πρέπει το jqXHR να μπορεί να χειριστεί διαφορετικά ΚΑΘΕ ΜΙΑ από τις παραπάνω περιπτώσεις.
Φαίνεται ότι υπάρχει bug στον Opera, που δεν επιτρέπει τη διάκριση ανάμεσα στο (β) και το (δ).
#12 Updated by Markos Gogoulos over 13 years ago
α)Ενημερώνεται η λιστα με τα VMS
β)Δεν γίνεται τίποτα
γ)Υλοποιείται, γυρίζει τα αντίστοιχα μηνύματα
δ)στο auto refresh δεν γίνεται τίποτα, επειδή δεν μπορεί να διαχωριστεί απο το β στον opera
#13 Updated by Dimitris Moraitis over 13 years ago
- Status changed from Assigned to Feedback
Μένει κάτι άλλο εδώ; Το error reporting γίνεται πλέον με βάση τα τελευταία mockups και η συμπεριφορά είναι αυτή που περιγράφει ο Μάρκος παραπάνω.
#14 Updated by Vangelis Koukis over 13 years ago
- Due date changed from 03/25/2011 to 04/01/2011
- Status changed from Feedback to Assigned
να αλλαχτούν κάποια σχόλια στον κώδικα ("no images unavailable")
να γίνει ό,τι προδιαγράφεται στο note #6 [περιγραφικό παράθυρο για το cloudFault που να περιλαμβάνει το κομμάτι "message" από το cloudFault]
- το κουτί που βγαίνει σε σφάλμα να είναι σωστού ύψους
- το details να κάνει hover όπως το cancel
#15 Updated by Vangelis Koukis over 13 years ago
Στο list view:
α) το Destroy server βγάζει μήνυμα λάθους ενώ ο server σβήνεται κανονικά.
Το λάθος είναι "could not contact the service" κλπ.
β) αν ο χρήστης έχει διαλέξει πολλά μηχανήματα, το λάθος πρέπει να του λέει σε ποιον από όλους όσους είχε επιλέξει έσκασε η κλήση.
#16 Updated by Markos Gogoulos over 13 years ago
Το πρόβλημα με το destroy server έχει διορθωθεί
#17 Updated by Markos Gogoulos over 13 years ago
- Status changed from Assigned to Feedback
Επίσης το β) διορθώθηκε
#18 Updated by Christos Psaltis over 13 years ago
επίσης διορθώθηκαν και όσα αναφέρονται στο comment 14
#19 Updated by Dimitris Moraitis over 13 years ago
- Status changed from Feedback to Assigned
μένουν κάποια πράγματα ακόμα
#20 Updated by Christos Psaltis over 13 years ago
Christos Psaltis wrote:
επίσης διορθώθηκαν και όσα αναφέρονται στο comment 14
όχι όμως όσα λέγονται στο comment 6
#21 Updated by Dimitris Moraitis over 13 years ago
- Status changed from Assigned to Feedback
Έγιναν και τα αναλυτικά μηνύματα λάθους που εκρεμμούσαν. Όλα φαίνονται να παίζουν σωστά.
#22 Updated by Vangelis Koukis over 13 years ago
- Status changed from Feedback to Resolved
Φαίνεται να είναι εντάξει, το κλείνω μετά το feedback από το demo.
#23 Updated by Vangelis Koukis over 13 years ago
- Status changed from Resolved to Assigned
Λοιπόν, εδώ φαίνεται να υπάρχει ακόμη το θέμα που αναλύεται διεξοδικά στις σημειώσεις 4 και 11 παραπάνω.
Καταλαβαίνω ότι στο autorefresh του Opera υπάρχει ζήτημα, γιατί δεν μπορεί να ξεχωρίσει το 304 από το Connection Refused.
Όμως, όταν υποβάλλω σύγχρονα μια αίτηση, π.χ. όταν πάω να φτιάξω έναν server, εκεί δεν υπάρχει περίπτωση να πάρω πίσω 304. Κι όμως, ενώ παλιότερα είχε φτιαχτεί, τώρα δεν βγάζει κανένα μήνυμα λάθους όταν κλείσω τον runserver.
Για αναπαραγωγή του λάθους:
α) ξεκινάω τον development server (runserver)
β) φορτώνει το GUI
γ) σκοτώνω τον development server
δ) πάω να φτιάξω μια νέα μηχανή από το wizard
Στο σημείο αυτό κάνει POST /servers και τρώει connection refused ή κάνει timeout. Στη σημείωση 12 παραπάνω ο Μάρκος λέει ότι για το (δ) στο auto-refresh δεν κάνει τίποτε. Σύμφωνοι, γιατί δεν μπορεί να το ξεχωρίσει από το 304. Αλλά όταν ΜΠΟΡΕΙ, πρέπει να κάνει. Πρέπει να βγάζει το "δεν μπόρεσα να μιλήσω με τον server", που αν καταλαβαίνω καλά είναι το ERRORS['DEFAULT'] στον κώδικα.
Αυτό με δαγκώνει και στην πραγματικότητα. Σκοτώνω καταλάθος το runserver και κάθομαι και κοιτάζω σα χάνος το παράθυρο του browser. Είπαμε δε γίνεται εύκολα στο autorefresh, OK. Σε ενέργειες του χρήστη πρέπει να γίνεται.
#24 Updated by Dimitris Moraitis over 13 years ago
- Status changed from Assigned to Feedback
OK. Πλεον το gui πετάει error αν δεν πάρει απάντηση από το backend μετά από action.
#25 Updated by Vangelis Koukis over 13 years ago
- Status changed from Feedback to Closed
Το GUI φαίνεται να εμφανίζει σωστά μήνυμα λάθους με τις λεπτομέρειες που περιέχονται σε πεδία του cloudFault. Το κλείνω, ανοίγει νέο bug για ο,τιδήποτε προκύψει.
#26 Updated by Vangelis Koukis over 11 years ago
- Category set to old_synnefo