Openstack Basic Client library
Unfortunately, nova, keystone, and glance clients are very inconsistent. A lot of code is copied between all these clients instead of moving it to a common library. The code was edited without synchronization between clients, so, they have different behaviour:
* all client constructors use different parameters (api_key in nova or password in keystone and so on);
* keystoneclient authenticates immediately in __init__, while novaclient does in lazily during first method call;
* {keystone,
* keystoneclient can support authorization with an unscoped token but novaclient doesn't;
* novaclient uses class composition while keystoneclient uses inheritance.
That is worth to note that glanceclient still cannot send file chunks and doesn't use sendfile syscall that is more efficient.
There is python-
There is openstack-common, but it seems to be a stub for a server and there is no client code.
The basic library can be used by python-
An implementation of the basic library is accessible at https:/
Here is an example of its usage.
from openstackclient
http_client = HttpClient(
from openstackclient
print ComputeClient(
from openstackclient
print IdentityPublicC
Blueprint information
- Status:
- Complete
- Approver:
- Russell Bryant
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Superseded
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Russell Bryant
Related branches
Related bugs
Sprints
Whiteboard
I don't think nova is the right place to drive this. It's effectively a new client side library project. I would discuss it openstack-dev to see if you gain support and contributors to the effort and go from there, like other projects start. -- russellb