diff --git a/cinder/tests/unit/volume/drivers/vmware/test_fcd.py b/cinder/tests/unit/volume/drivers/vmware/test_fcd.py index eb67e051497..0d0df54efb5 100644 --- a/cinder/tests/unit/volume/drivers/vmware/test_fcd.py +++ b/cinder/tests/unit/volume/drivers/vmware/test_fcd.py @@ -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( diff --git a/cinder/volume/drivers/vmware/fcd.py b/cinder/volume/drivers/vmware/fcd.py index 43874c3d434..42837c78d05 100644 --- a/cinder/volume/drivers/vmware/fcd.py +++ b/cinder/volume/drivers/vmware/fcd.py @@ -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.