OpenStack Common Client Library part 2
This is a continuation of work related to unification of all openstack clients.
Goal of the blueprint is to move all common code to oslo library and reuse it in concrete clients.
Please see previous blueprint for more details
Blueprint information
- Status:
- Started
- Approver:
- Doug Hellmann
- Priority:
- Medium
- Drafter:
- Alexei Kornienko
- Direction:
- Approved
- Assignee:
- Alexei Kornienko
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Started
- Milestone target:
- ongoing
- Started by
- Alexei Kornienko
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Add to_dict() method to apiclient Resource()
Addressed by: https:/
Proceed 300 status code in common HTTPClient
Addressed by: https:/
Add common methods to cliutils
Addressed by: https:/
Deleted duplicated method in cliutils.
Addressed by: https:/
Fix response_key parameter usage in BaseManager
Gerrit topic: https:/
Addressed by: https:/
Removed set_loaded() method from Resource class
Addressed by: https:/
Add __slots__ to Resource class
Addressed by: https:/
Adds {collection_
Work Items
Work items:
move common shell utils to oslo: TODO
replace custom shell utils with oslo utils: TODO
Move common cli utils to oslo: DONE
Client shouldn't inherit HTTPClient in pythonclients: TODO
- ceilometerclient: DONE
- cinderclient: DONE
- ganttclient: TODO
- glanceclient: DONE
- heatclient: DONE
- ironicclient: DONE
- keystoneclient: POSTPONED
- marconiclient: TODO
- neutronclient: TODO
- novaclient: DONE
- savannaclient: TODO
- swiftclient: TODO
- troveclient: DONE
- tuskarclient: DONE
Sync module apiclient from oslo in pythonclients: TODO
- ceilometerclient: DONE
- [akurilin] cinderclient: INPROGRESS
- ganttclient: TODO
- glanceclient: DONE
- heatclient(
- ironicclient: DONE
- keystoneclient: DONE
- marconiclient: TODO
- neutronclient: TODO
- novaclient: DONE
- savannaclient: DONE
- swiftclient: TODO
- troveclient: DONE
- tuskarclient: DONE
Reuse oslo clients exceptions in all clients: INPROGRESS
- ceilometerclient: TODO
- [ekudryashova] cinderclient: INPROGRESS
- ganttclient: TODO
- [ekudryashova] glanceclient: INPROGRESS
- heatclient: TODO
- [akurilin] ironicclient: DONE
- [akurilin] keystoneclient: DONE
- marconiclient: TODO
- neutronclient: TODO
- [akurilin] novaclient: DONE
- savannaclient: DONE
- swiftclient: TODO
- troveclient: INPROGRESS
- tuskarclient: DONE
Use cliutils from common code in: INPROGRESS
- [akurilin] keystoneclient: INPROGRESS
- ceilometerclient: TODO
- [akurilin ] ironicclient: INPROGRESS
- cinderclient: POSTPONED
- novaclient: INPROGRESS
- troveclient: INPROGRESS
- glanceclient: TODO
- heatclient: TODO
- ganttclient: TODO
- marconiclient: TODO
- neutronclient: TODO
- savannaclient: TODO
- swiftclient: TODO
- tuskarclient: TODO
Refactor CREATION_ATTRIBUTES in pythonclients: TODO
- ceilometerclient: TODO
- cinderclient: TODO
- ganttclient: TODO
- glanceclient: TODO
- heatclient: TODO
- ironicclient: TODO
- keystoneclient: TODO
- marconiclient: TODO
- neutronclient: TODO
- novaclient: TODO
- savannaclient: TODO
- swiftclient: TODO
- troveclient: TODO
- tuskarclient: TODO
Use common Oslo managers (BaseManager(), CrudManager(), ManagerWithFind()) in: TODO
- [ekudryashova]
- cinderclient: TODO
- ganttclient: TODO
- [akurilin] glanceclient: DONE
- heatclient: DONE
- ironicclient: POSTPONED
- keystoneclient: POSTPONED
- marconiclient: TODO
- neutronclient: TODO
- novaclient: TODO
- savannaclient: TODO
- swiftclient: TODO
- troveclient: TODO
- tuskarclient: TODO
Write tests for troveclient.
Write tests for troveclient.
Oslo shell completiotion framework: INPROGRESS
Move code from nova/hooks.py to oslo: DONE
Use Resource() from common code in: TODO
- glanceclient: DONE
- heatclient: DONE
- tuskarclient: DONE
- savannaclient: POSTPONED
- troveclient: INPROGRESS
- ceilometerclient: INPROGRESS
- ironicclient: DONE
- novaclient: DONE
- cinderclient: INPROGRESS
- keystoneclient: DONE
Use common HTTP Client in pythonclients: INPROGRESS
- ceilometerclient: INPROGRESS
- cinderclient: TODO
- ganttclient: TODO
- glanceclient: TODO
- heatclient: TODO
- ironicclient: INPROGRESS
- keystoneclient: TODO
- marconiclient: TODO
- neutronclient: TODO
- novaclient: TODO
- savannaclient: TODO
- swiftclient: TODO
- troveclient: INPROGRESS
- tuskarclient: DONE
Use to_dict() from common Resource() in clients: TODO
- tuskarclient: INPROGRESS
- [akurilin ] glanceclient: INPROGRESS
i18n support in apiclient: DONE
Dependency tree
* Blueprints in grey have been implemented.