VMware: Check empty provider location

Adding a check for empty provider location before
proceeding with volume delete.

Change-Id: I4173a9d72894f4b6593a6aaf9f071a3cda7e6fef
This commit is contained in:
Vipin Balachandran 2018-09-21 12:45:20 -07:00
parent 16cde62009
commit b738fc20f9
2 changed files with 12 additions and 1 deletions

View File

@ -208,9 +208,16 @@ class VMwareVStorageObjectDriverTestCase(test.TestCase):
@mock.patch.object(FCD_DRIVER, '_delete_fcd')
def test_delete_volume(self, delete_fcd):
volume = self._create_volume_obj()
volume.provider_location = 'foo@ds1'
self._driver.delete_volume(volume)
delete_fcd.assert_called_once_with(volume.provider_location)
@mock.patch.object(FCD_DRIVER, '_delete_fcd')
def test_delete_volume_empty_provider_location(self, delete_fcd):
volume = self._create_volume_obj()
self._driver.delete_volume(volume)
delete_fcd.assert_not_called()
@mock.patch.object(volumeops.FcdLocation, 'from_provider_location')
@mock.patch.object(FCD_DRIVER, '_get_adapter_type')
def test_initialize_connection(

View File

@ -123,7 +123,11 @@ class VMwareVStorageObjectDriver(vmdk.VMwareVcVmdkDriver):
:param volume: The volume to delete.
"""
self._delete_fcd(volume.provider_location)
if not volume.provider_location:
LOG.warning("FCD provider location is empty for volume %s",
volume.id)
else:
self._delete_fcd(volume.provider_location)
def initialize_connection(self, volume, connector, initiator_data=None):
"""Allow connection to connector and return connection info.