One Strategy for lazy loading

Registered by Vish Ishaya

This blueprint has been superseded. See the newer blueprint "Standard way to load modules that are defined in flags" for updated plans.

Nova currently uses many different methods for lazy loading components. These approaches should be unified, and a single standard method for lazy loading components should be adopted.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Vish Ishaya
Direction:
Needs approval
Assignee:
None
Definition:
Superseded
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Vish Ishaya

Related branches

Sprints

Whiteboard

Currently, nova uses at least four different methods for lazy loading components:

utils.load_object (managers and drivers)
utils.load_class (auth manager)
utils.LazyPluggable (db backend)
switch statement (virt connections)

All of them start with a flag. There is no reason to have four different ways of delayed object loading.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.