Move prep_resize to Conductor¶
So as to prepare the scheduler to be a separate project, we need to remove all proxy calls from the scheduler to compute nodes. prep_resize() is still in Scheduler V3 API, so we need to modify how cold migrations are retried.
When a cold migration is requested, there is a direct call from conductor to compute.prep_resize() which is OK. The problem is when the cold migration is failing, where compute node is asking Scheduler to reschedule a new migration by calling scheduler.prep_resize(), which itself calls compute.prep_resize() after issuing a select_destinations().
The idea is to replace the call back by conductor.migrate_server instead of scheduler.prep_resize in the compute prep_resize method.
All prep_resize logic should be left to the conductor, but that’s a bigger step than just moving the scheduler logic to conductor. With regards to small iterations, that blueprint is quicker to implement and less risky, so that another blueprint for placing cold and hot migrations to conductor  could use it as dependency.
Data model impact¶
REST API impact¶
Other end user impact¶
Other deployer impact¶
- Primary assignee:
- Other contributors:
Replace call to scheduler.prep_resize by call to conductor.migrate_server in compute.prep_resize
Remove prep_resize in Scheduler RPC API and note it to be removed in manager
Covered by existing tempest tests and CIs.