Bug #301
Sanitization του API, αφαίρεση του Piston, έλεγχος συμμόρφωσης με OpenStack v1.1, tests
Status: | Closed | Start date: | 03/18/2011 | |
---|---|---|---|---|
Priority: | High | Due date: | 04/06/2011 | |
Assignee: | Giorgos Verigakis | % Done: | 0% |
|
Category: | Cyclades API | Spent time: | - | |
Target version: | - |
Description
Στο πλαίσιο της εξυγίανσης της υλοποίησης του API, ώστε να συμμορφώνεται πραγματικά με το spec του OpenStack v1.1, να διορθωθούν αρκετά long-standing προβλήματα που έχουμε [υποστήριξη XML και JSON, σωστή επιστροφή λαθών και στα δύο formats, #289 κλπ] και να γίνει εξαντλητικός έλεγχος της λειτουργικότητας, ο Γιώργος ο Βεριγάκης [verigak] θα αναλάβει τα εξής: [Βάζω αριθμούς tickets για να βγουν και στα related του redmine]
α) Αφαίρεση του Piston ως ενδιάμεσου στρώματος για το REST API. Το API απαιτεί πολύ συγκεκριμένα formats σε requests και responses, κι ο [faidon] είχε καταλήξει να ξαναγράψει το μισό Piston για να είναι συμβατός. Η χρήση του Piston δημιουργεί θέματα με το format των απαντήσεων [XML και JSON, κλπ, #289, #287]. Θα φύγει και θα αντικατασταθεί από ένα απλούστερο, άμεσο στρώμα που θα επιστρέφει απευθείας JSON ή XML και θα ξέρει τι επιστρέφει κάθε φορά.
Η δουλειά στο (α) θα ξεκινήσει σε ένα άλλο namespace, /api/v1.1redux. Σε αυτό θα μεταφερθούν σταδιακά όλες οι λειτουργίες του /api/v1.1/ (#183, #185, #253)
β) Εξυγίανση της υλοποίησης: ΠΡΕΠΕΙ να εξασφαλιστεί ότι η υλοποίηση λειτουργεί σύμφωνα με το spec κι επιστρέφονται ανάλογοι κωδικοί λάθους (#213, #245). Υπάρχουν ακόμη ασυνέπειες, ενδεικτικά: το POST /servers πρέπει να δέχεται και XML και JSON body, να επιστρέφει και τα δύο formats, όχι hardcoded JSON, τα metadata πρέπει να επιστρέφονται με συγκεκριμένο τρόπο [τώρα είναι inconsistent, #249]. Κάθε φορά που ο [verigak] μεταφέρει λειτουργικότητα στο νέο namespace, θα ελέγχει την ακριβή υλοποίησή της. Θα διορθώνει ό,τι μπορεί, αν υπάρχει μεγάλο κομμάτι ανεξάρτητης δουλειάς θα αναθέτει tickets σε όποιον έγραψε τον αντίστοιχο κώδικα.
γ) Πρέπει να γραφτούν έξτρα tests για να καλυφθεί ολόκληρη η λειτουργικότητα (π.χ. όλα τα formats, για όλες τις λειτουργίες, και σε request bodies και σε response bodies, και όλα τα πιθανά λάθη).
δ) Όταν το /api/v1.1redux είναι έτοιμο, θα αντικαταστήσει το /api/v1.1, το οποίο θα φύγει εντελώς, μαζί με το Piston.
Τα παραπάνω ξεκινάνε άμεσα και ολοκληρώνονται εντός της επόμενης εβδομάδας.
Ο [verigak] ξεκινάει να κάνει commit πράγματα στην πλευρά του API.
Η unweb.me επικεντρώνεται στην πλευρά του GUI.
Βαγγέλης
Related issues
Associated revisions
Initial commit for API 1.1 REDUX.
- Implemented servers section of the API
- Some new tests
Work in progress.
Refs #301
Add image and flavor support to REDUX API
Refs #301
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 Vangelis Koukis almost 13 years ago
- Due date changed from 03/25/2011 to 03/30/2011
#2 Updated by Vangelis Koukis almost 13 years ago
- Due date changed from 03/30/2011 to 04/06/2011
#3 Updated by Vangelis Koukis almost 13 years ago
- Status changed from Assigned to Closed
Αυτό έγινε, έκλεισαν όλα τα σχετικά tickets. Μένει το ζήτημα των tests, που αυτή τη στιγμή έχουν σπάσει, θα ανοίξω χωριστό ticket.