Support subclassing objects

Registered by Chris Behrens on 2014-05-20

Subclassing objects may be necessary to implement alternative DB API backends. As objects are registered, we should create an attribute for the newest one in the nova.objects module. Code should be changed to reference nova.objects.<Object> vs nova.objects.<module>.<Object>. This has a side-effect of cleaning up imports as well as supporting subclassing properly.

Blueprint information

Status:
Complete
Approver:
John Garbutt
Priority:
Medium
Drafter:
Chris Behrens
Direction:
Approved
Assignee:
Chris Behrens
Definition:
Approved
Series goal:
Accepted for juno
Implementation:
Implemented
Milestone target:
milestone icon 2014.2
Started by
John Garbutt on 2014-05-21
Completed by
John Garbutt on 2014-07-22

Related branches

Sprints

Whiteboard

Updated to include milestone and URL, targeted for juno, and approved --johnthetubaguy 21st May 2014

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

Addressed by: https://review.openstack.org/94316
    Implement proper object subclassing support

Addressed by: https://review.openstack.org/94010
    Fix tests/compute direct use of instance module objects

Addressed by: https://review.openstack.org/93995
    Address issues with objects of same name

Addressed by: https://review.openstack.org/94011
    Fix direct use of aggregate module objects

Addressed by: https://review.openstack.org/94047
    Fix api direct use of instance module objects

Addressed by: https://review.openstack.org/94009
    Fix nova/compute direct use of instance module objects

Addressed by: https://review.openstack.org/94058
    Fix object code direct use of other object modules

Addressed by: https://review.openstack.org/94208
    Fix rest of compute objects usage

Addressed by: https://review.openstack.org/94012
    Fix direct use of block_device module objects

Addressed by: https://review.openstack.org/94296
    Fix rest of API objects usage

Addressed by: https://review.openstack.org/94049
    Fix the rest of direct uses of instance module objects

Addressed by: https://review.openstack.org/94046
    Register objects in more services

Addressed by: https://review.openstack.org/94402
    Fix nova/network direct use of object modules

Addressed by: https://review.openstack.org/94487
    Fix nova/pci direct use of object modules

Addressed by: https://review.openstack.org/94488
    Fix last of direct use of object modules

Comstud, it looks like all the code is up for review now, is that correct? --johnthetubaguy (30th May 2014)

Bumped to j-2 because not all the code has merged in time for j-1. --mikalstill (11th June 2014)

Addressed by: https://review.openstack.org/99832
    Add missing create() method on SecurityGroup object

This should make Juno-2. All changes now approved, just final push left to get them through the gate --johnthetubaguy 21 July 2014

Still needing merge (mikalstill at 23:49, 21 July)
    - https://review.openstack.org/#/c/94487/
    - https://review.openstack.org/#/c/94488/
    - https://review.openstack.org/#/c/99832/

We can ignore this, its not really part of this blueprint:
   - https://review.openstack.org/#/c/99832/
But we still need this to merge:
   - https://review.openstack.org/#/c/94488/
johnthetubaguy 22 July 2014

There's also https://review.openstack.org/#/c/99832/, but I think its a stow away.

Addressed by: https://review.openstack.org/119707
    Ironic: Fix direct use of flavor an instance module objects

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.