Temporary volumes not cleaned up after retype for some backends
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
In Progress
|
Undecided
|
IBM Storage |
Bug Description
The scenario is retyping a volume from one backend to another. The issue seems to happen for drivers that are sensitive to looking up volumes by name on the backend and have implemented driver.
This works great when that driver is the target of the retype operation. It's update_
However, if that type of driver owns the original (source) volume of the retype operation, then they never get called to update their backend volume so that it can be looked up via the temporary cinder volume record that gets created during the operation.
After the cross-driver migration completes, the volume data and metadata is swapped between the two volumes and the temporary volume gets deleted. Then the retype finishes.
In this problematic scenario, the temporary volume is not found on the backend (because it was not renamed to match anything) and the driver assumes it has already been deleted. It fails silently and the temporary volume continues to be left around on the source backend for the the retype operation.
Here is an example of the silent failure:
2017-10-17 06:23:14.916 5893 INFO cinder.
2017-10-17 06:23:14.929 5893 INFO cinder.
Changed in cinder: | |
assignee: | nobody → Carl Pecinovsky (csky) |
Fix proposed to branch: master /review. openstack. org/533803
Review: https:/