Merge "vmware: Fixes _detach_instance_volumes method"

This commit is contained in:
Zuul 2018-03-29 18:13:50 +00:00 committed by Gerrit Code Review
commit 144d621397
2 changed files with 13 additions and 8 deletions

View File

@ -674,7 +674,7 @@ class VMwareAPIVMTestCase(test.NoDBTestCase,
block_device_info=bdi)
mock_power_off.assert_called_once_with(self.instance)
mock_detach_volume.assert_called_once_with(
connection_info, self.instance, 'fake-name')
None, connection_info, self.instance, 'fake-name')
mock_destroy.assert_called_once_with(self.instance, True)
@mock.patch.object(vmops.VMwareVMOps, 'power_off',
@ -712,7 +712,7 @@ class VMwareAPIVMTestCase(test.NoDBTestCase,
self.conn.destroy, self.context, self.instance,
self.network_info, block_device_info=bdi)
mock_detach_volume.assert_called_once_with(
connection_info, self.instance, 'fake-name')
None, connection_info, self.instance, 'fake-name')
self.assertFalse(mock_destroy.called)
@mock.patch.object(driver.VMwareVCDriver, 'detach_volume',
@ -730,7 +730,7 @@ class VMwareAPIVMTestCase(test.NoDBTestCase,
self.conn.destroy(self.context, self.instance, self.network_info,
block_device_info=bdi)
mock_detach_volume.assert_called_once_with(
connection_info, self.instance, 'fake-name')
None, connection_info, self.instance, 'fake-name')
self.assertTrue(mock_destroy.called)
mock_destroy.assert_called_once_with(self.instance, True)
@ -1496,10 +1496,11 @@ class VMwareAPIVMTestCase(test.NoDBTestCase,
block_device_info_get_mapping.assert_called_once_with(
block_device_info)
vmops.power_off.assert_called_once_with(self.instance)
exp_detach_calls = [mock.call(mock.sentinel.connection_info_1,
self.instance, 'dev1'),
mock.call(mock.sentinel.connection_info_2,
self.instance, 'dev2')]
exp_detach_calls = [
mock.call(None, mock.sentinel.connection_info_1,
self.instance, 'dev1'),
mock.call(None, mock.sentinel.connection_info_2,
self.instance, 'dev2')]
self.assertEqual(exp_detach_calls, detach_volume.call_args_list)
def test_destroy(self):

View File

@ -404,6 +404,8 @@ class VMwareVCDriver(driver.ComputeDriver):
def detach_volume(self, context, connection_info, instance, mountpoint,
encryption=None):
"""Detach volume storage to VM instance."""
# NOTE(claudiub): if context parameter is to be used in the future,
# the _detach_instance_volumes method will have to be updated as well.
return self._volumeops.detach_volume(connection_info, instance)
def get_volume_connector(self, instance):
@ -435,7 +437,9 @@ class VMwareVCDriver(driver.ComputeDriver):
for disk in block_device_mapping:
connection_info = disk['connection_info']
try:
self.detach_volume(connection_info, instance,
# NOTE(claudiub): Passing None as the context, as it is
# not currently used.
self.detach_volume(None, connection_info, instance,
disk.get('device_name'))
except exception.DiskNotFound:
LOG.warning('The volume %s does not exist!',