As discussed at our nova meetings, reorganize the juno specs into three directories: - proposed: things proposed which weren't approved - approved: things we approved but didn't implement - implemented: things approved and implemented The first I suspect is the most controversial. I've done this because I worry about the case where a future developer wants to pick up something dropped by a previous developer, but has trouble finding previous proposed specifications on the topic. Note that the actual proposed specs for Juno are adding in a later commit. Change-Id: Idcf55ca37a83d7098dcb7c2971240c4e8fd23dc8
2.3 KiB
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