raise exception.BackupVerifyUnsupportedDriver(
reason=msg)
+ # Needs to clean temporary volumes and snapshots.
+ try:
+ self._cleanup_temp_volumes_snapshots_for_one_backup(
+ context, backup)
+ except Exception:
+ LOG.exception(_LE("Problem cleaning temp volumes and "
+ "snapshots for backup %(bkup)s."),
+ {'bkup': backup.id})
+
# send notification to ceilometer
notifier_info = {'id': backup.id, 'update': {'status': status}}
notifier = rpc.get_notifier('backupStatusUpdate')
backup = db.backup_get(self.ctxt, imported_record.id)
self.assertEqual(fields.BackupStatus.ERROR, backup['status'])
+ @mock.patch.object(manager.BackupManager,
+ '_cleanup_temp_volumes_snapshots_for_one_backup')
def test_backup_reset_status_from_nonrestoring_to_available(
- self):
+ self, mock_clean_temp):
vol_id = self._create_volume_db_entry(status='available',
size=1)
backup = self._create_backup_db_entry(status=fields.BackupStatus.ERROR,
self.backup_mgr.reset_status(self.ctxt,
backup,
fields.BackupStatus.AVAILABLE)
+ mock_clean_temp.assert_called_once_with(self.ctxt, backup)
backup = db.backup_get(self.ctxt, backup.id)
self.assertEqual(fields.BackupStatus.AVAILABLE, backup['status'])
backup = db.backup_get(self.ctxt, backup.id)
self.assertEqual(fields.BackupStatus.ERROR, backup['status'])
- def test_backup_reset_status_from_restoring_to_available(self):
+ @mock.patch.object(manager.BackupManager,
+ '_cleanup_temp_volumes_snapshots_for_one_backup')
+ def test_backup_reset_status_from_restoring_to_available(
+ self, mock_clean_temp):
volume = db.volume_create(self.ctxt,
{'status': 'available',
'host': 'test',
self.backup_mgr.reset_status(self.ctxt, backup,
fields.BackupStatus.AVAILABLE)
+ mock_clean_temp.assert_called_once_with(self.ctxt, backup)
backup = db.backup_get(self.ctxt, backup.id)
self.assertEqual(fields.BackupStatus.AVAILABLE, backup['status'])
- def test_backup_reset_status_to_error(self):
+ @mock.patch.object(manager.BackupManager,
+ '_cleanup_temp_volumes_snapshots_for_one_backup')
+ def test_backup_reset_status_to_error(self, mock_clean_temp):
volume = db.volume_create(self.ctxt,
{'status': 'available',
'host': 'test',
volume_id=volume['id'])
self.backup_mgr.reset_status(self.ctxt, backup,
fields.BackupStatus.ERROR)
+ mock_clean_temp.assert_called_once_with(self.ctxt, backup)
backup = db.backup_get(self.ctxt, backup['id'])
self.assertEqual(fields.BackupStatus.ERROR, backup['status'])