Move prep_resize to Conductor¶
https://blueprints.launchpad.net/nova/+spec/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.
Problem description¶
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().
Proposed change¶
The idea is to replace the call back by conductor.migrate_server instead of scheduler.prep_resize in the compute prep_resize method.
Alternatives¶
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 [1] could use it as dependency.
Data model impact¶
None
REST API impact¶
None
Security impact¶
None
Notifications impact¶
None
Other end user impact¶
None
Performance Impact¶
None
Other deployer impact¶
None
Developer impact¶
None
Implementation¶
Assignee(s)¶
- Primary assignee:
sylvain-bauza
- Other contributors:
None
Work Items¶
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
Dependencies¶
None
Testing¶
Covered by existing tempest tests and CIs.
Documentation Impact¶
None