Merge "Do not rename rbd based volume after migration"
This commit is contained in:
commit
3ccc33f766
@ -1836,6 +1836,24 @@ class RBDTestCase(test.TestCase):
|
||||
self.assertEqual({'_name_id': None,
|
||||
'provider_location': None}, model_update)
|
||||
|
||||
@common_mocks
|
||||
def test_update_migrated_volume_in_use(self):
|
||||
client = self.mock_client.return_value
|
||||
client.__enter__.return_value = client
|
||||
|
||||
with mock.patch.object(self.driver.rbd.RBD(), 'rename') as mock_rename:
|
||||
context = {}
|
||||
mock_rename.return_value = 0
|
||||
model_update = self.driver.update_migrated_volume(context,
|
||||
self.volume_a,
|
||||
self.volume_b,
|
||||
'in-use')
|
||||
mock_rename.assert_not_called()
|
||||
self.assertEqual({'_name_id': self.volume_b.id,
|
||||
'provider_location':
|
||||
self.volume_b['provider_location']},
|
||||
model_update)
|
||||
|
||||
@common_mocks
|
||||
def test_update_migrated_volume_image_exists(self):
|
||||
client = self.mock_client.return_value
|
||||
|
@ -1768,6 +1768,13 @@ class RBDDriver(driver.CloneableImageVD, driver.MigrateVD,
|
||||
name_id = None
|
||||
provider_location = None
|
||||
|
||||
if original_volume_status == 'in-use':
|
||||
# The back-end will not be renamed.
|
||||
name_id = new_volume['_name_id'] or new_volume['id']
|
||||
provider_location = new_volume['provider_location']
|
||||
return {'_name_id': name_id,
|
||||
'provider_location': provider_location}
|
||||
|
||||
existing_name = CONF.volume_name_template % new_volume.id
|
||||
wanted_name = CONF.volume_name_template % volume.id
|
||||
with RADOSClient(self) as client:
|
||||
@ -1783,7 +1790,8 @@ class RBDDriver(driver.CloneableImageVD, driver.MigrateVD,
|
||||
# one from the new volume as well.
|
||||
name_id = new_volume._name_id or new_volume.id
|
||||
provider_location = new_volume['provider_location']
|
||||
return {'_name_id': name_id, 'provider_location': provider_location}
|
||||
return {'_name_id': name_id,
|
||||
'provider_location': provider_location}
|
||||
|
||||
def migrate_volume(self, context, volume, host):
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user