Rename method 'delete' to 'delete_backup' in backup drivers

Once we'll get generic-backup-implementation blueprint done it will be
confusion to have 'delete' method in volume drivers. After this change
we'll have two methods: 'delete_volume' and 'delete_backup' which should
be clear for maintainers.

This patch doesn't change any public API so it should be clear for
operators and users.

Change-Id: I7f975066c1c848fec7e930a9d71b7225f3250acc
Related-blueprint: generic-backup-implementation
This commit is contained in:
Ivan Kolodyazhny 2017-07-04 13:35:03 +03:00
parent 98ee2aa063
commit 81466bb1e7
12 changed files with 40 additions and 37 deletions

@ -490,7 +490,7 @@ class ChunkedBackupDriver(driver.BackupDriver):
is_backup_canceled = True
# To avoid the chunk left when deletion complete, need to
# clean up the object of chunk again.
self.delete(backup)
self.delete_backup(backup)
LOG.debug('Cancel the backup process of %s.', backup.id)
break
data_offset = volume_file.tell()
@ -578,7 +578,7 @@ class ChunkedBackupDriver(driver.BackupDriver):
except Exception:
with excutils.save_and_reraise_exception():
LOG.exception("Backup volume metadata failed.")
self.delete(backup)
self.delete_backup(backup)
self._finalize_backup(backup, container, object_meta, object_sha256)
@ -708,7 +708,7 @@ class ChunkedBackupDriver(driver.BackupDriver):
LOG.debug('restore %(backup_id)s to %(volume_id)s finished.',
{'backup_id': backup_id, 'volume_id': volume_id})
def delete(self, backup):
def delete_backup(self, backup):
"""Delete the given backup."""
container = backup['container']
object_prefix = backup['service_metadata']

@ -373,7 +373,7 @@ class BackupDriver(base.Base):
return
@abc.abstractmethod
def delete(self, backup):
def delete_backup(self, backup):
"""Delete a saved backup."""
return

@ -905,7 +905,7 @@ class CephBackupDriver(driver.BackupDriver):
self._full_backup(backup, volume_file, volume.name, length)
except exception.BackupOperationError:
with excutils.save_and_reraise_exception():
self.delete(backup)
self.delete_backup(backup)
if backup_metadata:
try:
@ -913,7 +913,7 @@ class CephBackupDriver(driver.BackupDriver):
except exception.BackupOperationError:
with excutils.save_and_reraise_exception():
# Cleanup.
self.delete(backup)
self.delete_backup(backup)
LOG.debug("Backup '%(backup_id)s' of volume %(volume_id)s finished.",
{'backup_id': backup.id, 'volume_id': volume.id})
@ -1197,7 +1197,7 @@ class CephBackupDriver(driver.BackupDriver):
'%(error)s.', {'error': e, 'volume': volume_id})
raise
def delete(self, backup):
def delete_backup(self, backup):
"""Delete the given backup from Ceph object store."""
LOG.debug('Delete started for backup=%s', backup.id)

@ -474,7 +474,7 @@ class TSMBackupDriver(driver.BackupDriver):
{'backup_id': backup.id,
'volume_id': volume_id})
def delete(self, backup):
def delete_backup(self, backup):
"""Delete the given backup from TSM server.
:param backup: backup information for volume

@ -522,7 +522,7 @@ class BackupManager(manager.ThreadPoolManager):
try:
backup_service = self.service.get_backup_driver(context)
backup_service.delete(backup)
backup_service.delete_backup(backup)
except Exception as err:
with excutils.save_and_reraise_exception():
self._update_backup_error(backup, six.text_type(err))

@ -96,7 +96,7 @@ class BackupDriver(base.CinderInterface):
:param volume_file: The volume or file to read the data from.
"""
def delete(self, backup):
def delete_backup(self, backup):
"""Delete a backup from the backup store.
:param backup: The backup to be deleted.

@ -567,7 +567,7 @@ class BackupCephTestCase(test.TestCase):
In backup(), after an exception.BackupOperationError occurs in
self._backup_metadata(), we want to check the process when the
second exception occurs in self.delete().
second exception occurs in self.delete_backup().
"""
backup_name = self.service._get_backup_base_name(self.backup_id,
diff_format=True)
@ -602,7 +602,8 @@ class BackupCephTestCase(test.TestCase):
# Raise a pseudo exception.BackupOperationError.
mock_backup_metadata.side_effect = mock_backup_metadata_side_effect
with mock.patch.object(self.service, 'delete') as mock_delete:
with mock.patch.object(self.service, 'delete_backup') as \
mock_delete:
def mock_delete_side_effect(backup):
raise self.service.rbd.ImageBusy()
@ -773,7 +774,7 @@ class BackupCephTestCase(test.TestCase):
snap_name = self.service._get_new_snap_name(self.backup_id)
mock_del_backup_snap.return_value = (snap_name, 0)
self.service.delete(self.backup)
self.service.delete_backup(self.backup)
self.assertTrue(mock_del_backup_snap.called)
self.assertTrue(self.mock_rbd.RBD.return_value.list.called)
@ -788,7 +789,7 @@ class BackupCephTestCase(test.TestCase):
self.mock_rbd.RBD.return_value.list.return_value = [backup_name]
with mock.patch.object(self.service, 'get_backup_snaps'):
self.service.delete(self.backup)
self.service.delete_backup(self.backup)
self.assertTrue(self.mock_rbd.RBD.return_value.remove.called)
@common_mocks
@ -816,7 +817,7 @@ class BackupCephTestCase(test.TestCase):
@mock.patch('cinder.backup.drivers.ceph.VolumeMetadataBackup', spec=True)
def test_delete(self, mock_meta_backup):
with mock.patch.object(self.service, '_try_delete_base_image'):
self.service.delete(self.backup)
self.service.delete_backup(self.backup)
self.assertEqual([], RAISED_EXCEPTIONS)
@common_mocks
@ -826,7 +827,7 @@ class BackupCephTestCase(test.TestCase):
mock_del_base:
mock_del_base.side_effect = self.mock_rbd.ImageNotFound
# ImageNotFound exception is caught so that db entry can be cleared
self.service.delete(self.backup)
self.service.delete_backup(self.backup)
self.assertEqual([MockImageNotFoundException], RAISED_EXCEPTIONS)
@common_mocks
@ -837,7 +838,7 @@ class BackupCephTestCase(test.TestCase):
mock_del_base.side_effect = self.mock_rados.ObjectNotFound
# ObjectNotFound exception is caught so that db entry can be
# cleared
self.service.delete(self.backup)
self.service.delete_backup(self.backup)
self.assertEqual([MockObjectNotFoundException],
RAISED_EXCEPTIONS)
mock_del_base.assert_called_once_with(self.backup)
@ -1108,7 +1109,7 @@ class BackupCephTestCase(test.TestCase):
@common_mocks
def test_backup_metadata_error(self):
"""Ensure that delete() is called if the metadata backup fails.
"""Ensure that delete_backup() is called if the metadata backup fails.
Also ensure that the exception is propagated to the caller.
"""
@ -1119,7 +1120,7 @@ class BackupCephTestCase(test.TestCase):
with mock.patch.object(self.service, '_file_is_rbd',
return_value=False):
with mock.patch.object(self.service, '_full_backup'):
with mock.patch.object(self.service, 'delete') as \
with mock.patch.object(self.service, 'delete_backup') as \
mock_delete:
self.assertRaises(exception.BackupOperationError,
self.service.backup, self.backup,

@ -443,13 +443,14 @@ class GoogleBackupDriverTestCase(test.TestCase):
@gcs_client
@mock.patch.object(google_dr.GoogleBackupDriver, '_backup_metadata',
fake_backup_metadata)
@mock.patch.object(google_dr.GoogleBackupDriver, 'delete', fake_delete)
@mock.patch.object(google_dr.GoogleBackupDriver, 'delete_backup',
fake_delete)
def test_backup_backup_metadata_fail2(self):
"""Test of when an exception occurs in an exception handler.
In backup(), after an exception occurs in
self._backup_metadata(), we want to check the process when the
second exception occurs in self.delete().
second exception occurs in self.delete_backup().
"""
volume_id = '2164421d-f181-4db7-b9bd-000000eeb628'
@ -523,7 +524,7 @@ class GoogleBackupDriverTestCase(test.TestCase):
backup = self._create_backup_db_entry(volume_id=volume_id,
service_metadata=object_prefix)
service = google_dr.GoogleBackupDriver(self.ctxt)
service.delete(backup)
service.delete_backup(backup)
@gcs_client
@mock.patch.object(google_dr.GoogleBackupDriver, 'delete_object',
@ -532,7 +533,7 @@ class GoogleBackupDriverTestCase(test.TestCase):
volume_id = 'ee30d649-72a6-49a5-b78d-000000edb6b1'
backup = self._create_backup_db_entry(volume_id=volume_id)
service = google_dr.GoogleBackupDriver(self.ctxt)
service.delete(backup)
service.delete_backup(backup)
@gcs_client
def test_get_compressor(self):

@ -518,7 +518,7 @@ class BackupNFSSwiftBasedTestCase(test.TestCase):
In backup(), after an exception occurs in
self._backup_metadata(), we want to check the process when the
second exception occurs in self.delete().
second exception occurs in self.delete_backup().
"""
volume_id = fake.VOLUME_ID
@ -539,7 +539,7 @@ class BackupNFSSwiftBasedTestCase(test.TestCase):
raise exception.BackupOperationError()
# Raise a pseudo exception.BackupOperationError.
self.mock_object(nfs.NFSBackupDriver, 'delete', fake_delete)
self.mock_object(nfs.NFSBackupDriver, 'delete_backup', fake_delete)
# We expect that the second exception is notified.
self.assertRaises(exception.BackupOperationError,
@ -654,7 +654,7 @@ class BackupNFSSwiftBasedTestCase(test.TestCase):
self._create_backup_db_entry(volume_id=volume_id)
service = nfs.NFSBackupDriver(self.ctxt)
backup = objects.Backup.get_by_id(self.ctxt, fake.BACKUP_ID)
service.delete(backup)
service.delete_backup(backup)
def test_get_compressor(self):
service = nfs.NFSBackupDriver(self.ctxt)

@ -654,7 +654,7 @@ class BackupSwiftTestCase(test.TestCase):
In backup(), after an exception occurs in
self._backup_metadata(), we want to check the process when the
second exception occurs in self.delete().
second exception occurs in self.delete_backup().
"""
volume_id = '2164421d-f181-4db7-b9bd-000000eeb628'
@ -675,7 +675,8 @@ class BackupSwiftTestCase(test.TestCase):
raise exception.BackupOperationError()
# Raise a pseudo exception.BackupOperationError.
self.mock_object(swift_dr.SwiftBackupDriver, 'delete', fake_delete)
self.mock_object(swift_dr.SwiftBackupDriver, 'delete_backup',
fake_delete)
# We expect that the second exception is notified.
self.assertRaises(exception.BackupOperationError,
@ -775,7 +776,7 @@ class BackupSwiftTestCase(test.TestCase):
service_metadata=object_prefix)
service = swift_dr.SwiftBackupDriver(self.ctxt)
backup = objects.Backup.get_by_id(self.ctxt, fake.BACKUP_ID)
service.delete(backup)
service.delete_backup(backup)
def test_delete_wraps_socket_error(self):
volume_id = 'f74cb6fa-2900-40df-87ac-0000000f72ea'
@ -787,7 +788,7 @@ class BackupSwiftTestCase(test.TestCase):
service = swift_dr.SwiftBackupDriver(self.ctxt)
backup = objects.Backup.get_by_id(self.ctxt, fake.BACKUP_ID)
self.assertRaises(exception.SwiftConnectionFailed,
service.delete,
service.delete_backup,
backup)
def test_delete_without_object_prefix(self):
@ -803,7 +804,7 @@ class BackupSwiftTestCase(test.TestCase):
self._create_backup_db_entry(volume_id=volume_id)
service = swift_dr.SwiftBackupDriver(self.ctxt)
backup = objects.Backup.get_by_id(self.ctxt, fake.BACKUP_ID)
service.delete(backup)
service.delete_backup(backup)
def test_get_compressor(self):
service = swift_dr.SwiftBackupDriver(self.ctxt)

@ -295,8 +295,8 @@ class BackupTSMTestCase(test.TestCase):
self.driver.restore(backup2, volume_id, volume_file)
# Delete both backups
self.driver.delete(backup2)
self.driver.delete(backup1)
self.driver.delete_backup(backup2)
self.driver.delete_backup(backup1)
@mock.patch.object(tsm.os, 'stat', fake_stat_file)
def test_backup_file(self):
@ -326,8 +326,8 @@ class BackupTSMTestCase(test.TestCase):
self.driver.restore(backup2, volume_id, volume_file)
# Delete both backups
self.driver.delete(backup1)
self.driver.delete(backup2)
self.driver.delete_backup(backup1)
self.driver.delete_backup(backup2)
@mock.patch.object(tsm.os, 'stat', fake_stat_illegal)
def test_backup_invalid_mode(self):
@ -350,4 +350,4 @@ class BackupTSMTestCase(test.TestCase):
volume_file)
self.assertRaises(exception.InvalidBackup,
self.driver.delete, backup1)
self.driver.delete_backup, backup1)

@ -26,7 +26,7 @@ class FakeBackupService(driver.BackupDriver):
def restore(self, backup, volume_id, volume_file):
pass
def delete(self, backup):
def delete_backup(self, backup):
# if backup has magic name of 'fail_on_delete'
# we raise an error - useful for some tests -
# otherwise we return without error