Use oslo-versioned-objects to help with dealing with upgrades

Registered by Kamil Rykowski

https://etherpad.openstack.org/p/kilo-crossproject-upgrades-and-versioning

This blueprint improves the way Ceilometer deals with versioning of objects (of all sorts db/rpc/rest/templates/plugins).

Nova has come up with the idea of versioned objects, that Ironic has also now used. This has been proposed as an oslo library https://review.openstack.org/#/c/127532/ which has been already implemented and available at https://github.com/openstack/oslo.versionedobjects

There is a work being done in Heat and Cinder which may be a good starting point for Ceilometer (ideas, reliability):
https://blueprints.launchpad.net/heat/+spec/versioned-objects
https://blueprints.launchpad.net/cinder/+spec/cinder-objects

The main idea of versioned objects is to create a wrapper objects that would be an abstraction layer above the currently used DB objects. Versioned-objects will help us deal with DB schema being at a different version than the code expects. This will allow Ceilometer to be operated safely during upgrades.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Kamil Rykowski
Direction:
Needs approval
Assignee:
Kamil Rykowski
Definition:
Obsolete
Series goal:
None
Implementation:
Blocked
Milestone target:
None
Started by
gordon chung
Completed by
gordon chung

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/versioned-objects,n,z

Addressed by: https://review.openstack.org/172427
    Use oslo-versioned-objects to deal with upgrades

Addressed by: https://review.openstack.org/178675
    Versioned object for Meter and Sample model

Addressed by: https://review.openstack.org/180432
    Versioned object for Resource model

Addressed by: https://review.openstack.org/180908
    Versioned object for Alarm and AlarmChange model

Addressed by: https://review.openstack.org/181338
    Versioned object for Event model

Addressed by: https://review.openstack.org/190521
    Versioned object for Meter and Sample model

Addressed by: https://review.openstack.org/193088
    WIP Versioned object RPC for alarms

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.