Requested host during cold migrate is ignored if server created before Rocky
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Takashi Natsume | ||
Rocky |
Fix Committed
|
High
|
Takashi Natsume |
Bug Description
I stumbled across this during a failing functional test:
https:/
In Rocky, new RequestSpec objects have the is_bfv field set, but change https:/
The problem is change https:/
The simple way to fix it is by not overwriting the set requested_
https:/
This could also be a problem for the 'network_metadata' field added in Rocky:
Changed in nova: | |
assignee: | nobody → Takashi NATSUME (natsume-takashi) |
Changed in nova: | |
status: | Triaged → In Progress |
I'm not sure but another case this could affect is rebuilding with a new image, in which case the API sets the new image on the request spec:
https:/ /github. com/openstack/ nova/blob/ a6963fa6858289d 048e4d27ce8e616 37cd023f4c/ nova/compute/ api.py# L3323
Although I guess we intentionally save that change so it's probably OK. Plus this:
https:/ /github. com/openstack/ nova/blob/ a6963fa6858289d 048e4d27ce8e616 37cd023f4c/ nova/compute/ api.py# L3329
Should make any save() later fail - although that's probably worth investigating if the request spec is old and would blow up on save() here:
https:/ /github. com/openstack/ nova/blob/ a6963fa6858289d 048e4d27ce8e616 37cd023f4c/ nova/conductor/ manager. py#L1009