Create a low-level API library

Registered by Dean Troyer on 2014-10-23

Create a basic low-level API for REST client operations that do no resource management; this layer handles JSON encoding/decoding, API endpoint management, HTTP session management.

This blueprint is an umbrella BP for tracking the various API lib work

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Dean Troyer
Direction:
Needs approval
Assignee:
None
Definition:
Review
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

The object-store API was the prototype to replace the original home-grown object library. It has been generalized into an object_store.APIv1 object that subclasses api.BaseAPI that contains the common methods.

Lather, rinse, repeat for the following:
* Network - neutronclient is 'nteresting' to use, we haven't merged much yet, lets replace it to remove the dependency
* Image - glanceclient has some dependencies that make installation of OSC difficult
* Compute - its simply huge...low on the priority list
* Identity - probably the last one to go since we use keystoneclient.session.Session as the basis for HTTP communication, plus the auth plugins. That doesn't mean that certain Identity CRUD implementations can not be improved.
* At this time no other clients are expected to be a required part of OSC.

Note: The original API design work was expected to have been done in the Python SDK project. We needed to make most of the base changes to the object store lib and to use Session and the auth plugins and could not wait. It still could (should?) move there if that team shows any interest.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.