transactional task management for Folsom

Tasks in Nova such as launching instances are complicated and error prone. Currently there is no systematic, reusable way to keep track of the distributed task executions. There is also no mechanism to know which tasks are currently using what resources. Task management is implicitly assumed to be VM state management. This blueprint proposes to build a highly available service to offer first-class APIs to task and resource lock management.

Related branches

Related bugs

Sprints

Whiteboard

I'm a little concerned about the current approach due to the goal of removing db access from the compute nodes. In fact we may not need a distributed lock if we do so. I will try to make it to the next orchestration meeting to discuss --Vish