Retyping with migrate to new backend not renaming volume on backend device
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Fix Released
|
High
|
Vincent Hou |
Bug Description
When doing a retype volumes are being lost. Cinder calls in to the driver to have a new volume created an the second backend. It then copies the data over from the first backend to the new lun on the second backend. After the migration of the data completes the original lun on the first backend is deleted.
The problem with this is the new volume is given a new ID, but the cinder database keeps the original volume id. There is a missing step where cinder should instruct the driver to update the new volume's ID so that it matches the old deleted volume.
Subsequent calls in to the driver to manipulate the volume fail because cinder still has the old ID but the array only has the new ID.
<jdg>
Just a little clarification:
The issue here is that some backend devices use the volume UUID from Cinder at create time to create their internal mapping. The migration process however does a UUID swap in the DB but doesn't actively send an update request or notification to the backend driver to tell it that it also needs to update its internal mapping information WRT the volume.
Suggestion is the addition of a general "update_
maybe a generalized method like that is more trouble than it's worth, but I can see other places where a notification like this would be handy.
Changed in cinder: | |
status: | New → Confirmed |
Changed in cinder: | |
importance: | Undecided → High |
milestone: | none → liberty-1 |
summary: |
- Retyping to new backend not renaming volume on array + Retyping with migrate to new backend not renaming volume on backend + device |
description: | updated |
Changed in cinder: | |
status: | Confirmed → Triaged |
Changed in cinder: | |
milestone: | liberty-1 → liberty-2 |
Changed in cinder: | |
assignee: | Vincent Hou (houshengbo) → Peter Penchev (openstack-dev-s) |
Changed in cinder: | |
assignee: | Peter Penchev (openstack-dev-s) → Vincent Hou (houshengbo) |
Changed in cinder: | |
status: | Fix Committed → Fix Released |
Changed in cinder: | |
milestone: | liberty-2 → 7.0.0 |
I will take this issue into account for the migration improvement (https:/ /etherpad. openstack. org/p/volume- migration- improvement) for the L release. Look forward to meeting you in Vancouver for discussion.