Create a low-level API library
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
- Started by
- Completed by
Related branches
Related bugs
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.
* 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.