2015-11-10 02:16:46 |
Xing Yang |
description |
ScaleIO driver should implement update_migrated_volume for migrate volume to work properly. |
ScaleIO driver should implement update_migrated_volume.
Without implementing update_migrated_volume, when the migrate finishes, the original volume will be deleted but the name on the new volume will not be changed to the old id even though the Cinder database will get updated.
Create volume
ScaleIO Volume ID: b511a2bd00000009
ScaleIO Volume Name: TcBhywAxSsKkgovcBnEsyg==
Cinder Volume ID: 4dc061cb-0031-4ac2-a482-8bdc06712cca
Migrate started
New ScaleIO Volume ID: b511a2be00000000
New ScaleIO Volume Name: nExD3oXWR+K15Uyr/M0ucg==
New Cinder Volume ID: d1c2f94c-083a-4959-b806-3ead4f1b6b24
Migrate finished
ScaleIO Volume ID: b511a2be00000000 (okay. other volume deleted)
ScaleIO Volume Name: nExD3oX0031WR+K15Uyr/M0ucg== (bad!)
Cinder Volume ID: 4dc061cb-0031-4ac2-a482-8bdc06712cca (original ID)
The problem is that the Volume Name is a base64() encoding of the Cinder Volume ID so any OpenStack calls after the migrate fail since the lookup fails. |
|