Bug #301

Sanitization του API, αφαίρεση του Piston, έλεγχος συμμόρφωσης με OpenStack v1.1, tests

Added by Vangelis Koukis over 11 years ago. Updated over 11 years ago.

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

related to Synnefo - Feature #183: Υλοποίηση RSAPI, /servers Closed 01/27/2011
related to Synnefo - Feature #185: Υλοποίηση RSAPI, /images Closed 01/27/2011
related to Synnefo - Feature #213: Error Handling API (Django) - GUI Closed 02/11/2011 04/01/2011
related to Synnefo - Feature #245: Details στους exception handlers Closed 03/08/2011 04/04/2011
related to Synnefo - Feature #249: Metadata handling σύμφωνα με το OpenStack Compute API v1.1 Closed 03/08/2011
related to Synnefo - Bug #289: Θέματα με τον Emitter, υποστήριξη application/json και ap... Closed 03/15/2011
related to Synnefo - Feature #255: τρόπος επιστροφής των IP addresses στο API Closed 03/08/2011
related to Synnefo - Bug #287: Bug με το Piston και τον αριθμό ορισμάτων στις κλήσεις PO... Closed 03/15/2011
related to Synnefo - Feature #253: Μετάβαση στο OpenStack Compute API v1.1 Closed 03/08/2011
blocked by Synnefo - Bug #313: To api/v1.1redux δεν παίζει με application/xml αν δεν είν... Closed 03/23/2011 03/30/2011
blocked by Synnefo - Bug #315: Το api/v1.1redux αντικαθιστά το api/v1.1, το api/v1.0 φεύγει Closed 03/23/2011 04/04/2011

Associated revisions

Revision 7e2f9d4b
Added by Giorgos Verigakis over 11 years ago

Initial commit for API 1.1 REDUX.

- Implemented servers section of the API
- Some new tests

Work in progress.

Refs #301

Revision c36934a7
Added by Giorgos Verigakis over 11 years ago

Add image and flavor support to REDUX API

Refs #301

Revision b016b476
Added by Giorgos Verigakis over 11 years ago

Improve REDUX API

  • Add server actions
  • Add address listing

API mostly complete now.

Refs #301

Revision d8e50a39
Added by Giorgos Verigakis over 11 years ago

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 over 11 years ago

  • Due date changed from 03/25/2011 to 03/30/2011

#2 Updated by Vangelis Koukis over 11 years ago

  • Due date changed from 03/30/2011 to 04/06/2011

#3 Updated by Vangelis Koukis over 11 years ago

  • Status changed from Assigned to Closed

Αυτό έγινε, έκλεισαν όλα τα σχετικά tickets. Μένει το ζήτημα των tests, που αυτή τη στιγμή έχουν σπάσει, θα ανοίξω χωριστό ticket.

Also available in: Atom PDF