_poll_unconfirmed_resizes may not retry later if confirm_resize fails in API
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Low
|
Lee Yarwood | ||
Ussuri |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
This is based on code inspection but let's say I have configured my computes to set resize_
The periodic task gets the unconfirmed migrations with status='finished' which have been updated some time older than the given configurable window:
The periodic task then calls the compute API code to confirm the resize:
https:/
which changes the migration status to 'confirming':
And casts off to the source compute:
Now if the source compute is down and that fails, the compute manager task code will handle it and say it will retry later:
https:/
However, because the migration status was changed from 'finished' to 'confirming' the task will not retry because it won't find the migration given the DB query. And trying to confirm the resize via the API will fail as well because we'll get MigrationNotFou
The compute manager code should probably mark the migration status as 'finished' again if it's really going to try later, or mark the migration status as 'error'. Note that the confirm_resize method in the compute manager doesn't mark the migration status as 'error' if something fails there either:
https:/
Changed in nova: | |
status: | New → Confirmed |
Changed in nova: | |
assignee: | Matt Riedemann (mriedem) → Lee Yarwood (lyarwood) |
Changed in nova: | |
assignee: | Lee Yarwood (lyarwood) → Matt Riedemann (mriedem) |
Changed in nova: | |
assignee: | Matt Riedemann (mriedem) → Lee Yarwood (lyarwood) |
Related fix proposed to branch: master /review. opendev. org/699045
Review: https:/