_nova_check_type scheduler hint could be accidentally persisted during a rebuild with image change
Bug #1823369 reported by
Matt Riedemann
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
In Progress
|
Undecided
|
Tetsuro Nakamura | ||
Rocky |
New
|
Undecided
|
Unassigned | ||
Stein |
New
|
Undecided
|
Unassigned |
Bug Description
This is based on code inspection and related to bug 1815153 (see comments 1-4) but when we rebuild a server with a new image we go through the scheduler with a special scheduler hint:
This line is meant to avoid accidentally persisting that change:
But RequestSpec.save() doesn't use the id field, it looks up the RequestSpec from the DB using the instance_uuid field to save the changes:
Which means we could accidentally persist that scheduler hint here if we are 'healing' a volume-backed server (since Rocky):
The potential fallout from this is that future move operations of that server could only run a subset of the scheduler filters:
And not even call placement...
Changed in nova: | |
assignee: | Tetsuro Nakamura (tetsuro0907) → Matt Riedemann (mriedem) |
Changed in nova: | |
assignee: | Matt Riedemann (mriedem) → nobody |
Changed in nova: | |
status: | In Progress → Triaged |
To post a comment you must log in.
Also, force_hosts/ force_nodes could be accidentally persisted in this case as well:
https:/ /github. com/openstack/ nova/blob/ a6963fa6858289d 048e4d27ce8e616 37cd023f4c/ nova/compute/ api.py# L3337-L3338