Instead of exposing raw green threads, hide them.

Registered by Joshua Harlow on 2013-03-29

Currently there are places in nova which expose and use the greenthread code directly for various reasons. It would be nice to move to a more abstracted model where the greenthread implementation is only exposed in 'utils.py' and everything else uses modules/code there instead of using greenthread directly. This seems to be the case for other usage of greenthread (due to code like FixedIntervalLoopingCall and such) so it seems like we can work on cleaning up other usage of greenthread directly in a similar manner.

This will aid the transition off of greenthreads if it ever becomes needed by having a single point where all greenthread usage is occurring, instead of having it scattered all over, which makes changes hard, and verification of correctness hard as well when X different usages exist in Y different places in nova instead of just X usages with 1 primary location.

Blueprint information

Status:
Started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
Joshua Harlow
Definition:
Drafting
Series goal:
None
Implementation:
Slow progress
Milestone target:
None
Started by
Joshua Harlow on 2013-05-04

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bug/1161965,n,z

Addressed by: https://review.openstack.org/25751
    Start to hide the usage of greenthread.sleep in compute.manager.

Gerrit topic: https://review.openstack.org/#q,topic:bug/1161965,n,z

Addressed by: https://review.openstack.org/25751
    Start to hide the usage of greenthread.sleep in compute.manager.

Marking this blueprint as definition: Drafting. If you are still working on this, please re-submit via nova-specs. If not, please mark as obsolete, and add a quick comment to describe why. --johnthetubaguy (20th April 2014)

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.