NoValidHost during live migration after cold migrating to a specified host
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Matt Riedemann | ||
Queens |
Fix Committed
|
High
|
Matt Riedemann | ||
Rocky |
Fix Committed
|
High
|
Matt Riedemann |
Bug Description
I recreated this with a 2-node devstack in stein created yesterday.
1. create a server
2. cold migrate the server to the other host and specify the host: nova migrate <server> --host <other host>
3. confirm the resize
4. live migrate the server w/o specifying a host so the scheduler has to pick one
At this point, you get a NoValidHost error because the scheduler is restricted to the current host on which the instance is running because of the requested_
http://
The problem is when cold migrating a server with a specified target host, compute API stores that on the request spec and sends it to the conductor to tell the scheduler which host to use:
But that request spec requested_
This is a regression in Queens: https:/
By the way, this is where the changes to the request_spec get persisted during the cold migrate:
https:/ /github. com/openstack/ nova/blob/ 20bc0136d0665ba fdcd379f19389a0 a5ea7bf310/ nova/conductor/ manager. py#L353