Stop casting run_instance in the scheduler, query the scheduler instead
In Havana it became possible to query the scheduler for a list of hosts to provision an instance on. Now we should switch the booting of a new instance to use that new query rather than proxy through the scheduler as is currently done.
This is in preparation for moving towards something like TaskFlow which would allow Nova to stop and resume multi step operations. By moving away from run_instance we are consolidating the provisioning logic between the conductor and compute manager. This clears up the responsibilities of the scheduler so that work there can focus on scheduling improvements.
Blueprint information
- Status:
- Complete
- Approver:
- John Garbutt
- Priority:
- High
- Drafter:
- None
- Direction:
- Approved
- Assignee:
- Andrew Laski
- Definition:
- Approved
- Series goal:
- Accepted for juno
- Implementation:
- Implemented
- Milestone target:
- 2014.2
- Started by
- Andrew Laski
- Completed by
- Andrew Laski
Related branches
Related bugs
Sprints
Whiteboard
Due to Gantt work, I think this one is really important. It helps separate out the scheduler, making it high priority for the next milestone --johnthetubaguy
This blueprint has been deferred from the icehouse-3 milestone to Juno because it missed the "feature proposal freeze" deadline. https:/
Already merged (or abandoned)
=======
Gerrit topic: https:/
Addressed by: https:/
Add block device handling to build_and_
Addressed by: https:/
Add network handling to build_and_
Addressed by: https:/
Add updates and notifications to build_and_
Addressed by: https:/
Use elevated context in resource_
Addressed by: https:/
Change conductor to cast to build_and_
Gerrit topic: https:/
Addressed by: https:/
Don't set to ERROR if deleted during build
Gerrit topic: https:/
Addressed by: https:/
Remove duplicate BuildAbortException block
Addressed by: https:/
Ensure proper notifications are sent when build finishes
Addressed by: https:/
Object-ify build_and_
Addressed by: https:/
Don't deallocate/
Addressed by: https:/
Serialize instance object while building request_spec
This blueprint has been deferred from the icehouse-3 milestone to Juno because it missed the "feature proposal freeze" deadline. https:/
Gerrit topic: https:/
Addressed by: https:/
Finish work to remove cast to schedule_
Set the URL, restate some fields, so it can be accepted into Juno --johnthetubaguy 28th April 2014
Please upload some code, and target a milestone, before this can be approved --johnthetubaguy 28th April 2014
Now we have code, updated milestone and approved this --johnthetubaguy 21st May 2014
Current Patches
=============
(None)
Addressed by: https:/
Convert address to str in fixed_ip_
Addressed by: https:/
Cells: Pass instance objects to build_instances
Addressed by: https:/
Add refresh=True to get_available_nodes call in build_and_
Addressed by: https:/
Call _validate_
Addressed by: https:/
Use objects through the run_instance() path
Addressed by: https:/
Deprecate run_instance and remove unnecessary code
Gerrit topic: https:/