Use oslo-versioned-objects to help with dealing with upgrades
The goal of this blueprint is to introduce objects into Manila.
An object is used to bundle data with methods that can operate on them. The plan is to represent the following concepts as objects: service, ManilaNode, Quota, ProjectUserQuota, ProjectUserQuota, QuotaClass,
ShareTypes,
By using objects, the code will be insulated from the actual database schema, making it easier rolling upgrades. Objects can be used to pass data over RPC and allow lazy-loading of data directly from the database or over RPC.
Nova has come up with the idea of versioned objects, that Ironic has also now used. This has now been proposed as an oslo library: https:/
https:/
There is work being done in Heat and Cinder which may be a good starting point for Glance (ideas, reliability):
https:/
https:/
The idea of versioned objects is to create wrapper objects that are a layer above the db objects.
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Medium
- Drafter:
- yuntongjin
- Direction:
- Approved
- Assignee:
- weiting-chen
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Goutham Pacha Ravi
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
First objects - ShareExportLocation
Addressed by: https:/
Versioned objects - SecurityService
Addressed by: https:/
Implement versioned object for Share