]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Merge "Enhance deletion efficiency when backup init host"
authorJenkins <jenkins@review.openstack.org>
Sun, 30 Aug 2015 12:57:46 +0000 (12:57 +0000)
committerGerrit Code Review <review@openstack.org>
Sun, 30 Aug 2015 12:57:46 +0000 (12:57 +0000)
1  2 
cinder/backup/manager.py
cinder/manager.py
cinder/tests/unit/test_backup.py
cinder/volume/manager.py

Simple merge
Simple merge
index 1c614e96a1e8dc2a01cdc3a211b66cbdbf585912,e1a0100d2550747cb1de0b898bdd78b03242ebf3..32ad6edb8d3cc6b0603be8d5b292667eb387e05c
@@@ -240,10 -228,33 +240,32 @@@ class BackupTestCase(BaseBackupTest)
          self.assertTrue(mock_delete_volume.called)
          self.assertTrue(mock_delete_snapshot.called)
  
+     @mock.patch('cinder.objects.backup.BackupList.get_all_by_host')
+     @mock.patch('cinder.manager.SchedulerDependentManager._add_to_threadpool')
+     def test_init_host_with_service_inithost_offload(self,
+                                                      mock_add_threadpool,
+                                                      mock_get_all_by_host):
+         self.override_config('backup_service_inithost_offload', True)
+         vol1_id = self._create_volume_db_entry()
+         db.volume_update(self.ctxt, vol1_id, {'status': 'available'})
+         backup1 = self._create_backup_db_entry(status='deleting',
+                                                volume_id=vol1_id)
+         vol2_id = self._create_volume_db_entry()
+         db.volume_update(self.ctxt, vol2_id, {'status': 'available'})
+         backup2 = self._create_backup_db_entry(status='deleting',
+                                                volume_id=vol2_id)
+         mock_get_all_by_host.return_value = [backup1, backup2]
+         self.backup_mgr.init_host()
+         calls = [mock.call(self.backup_mgr.delete_backup, mock.ANY, backup1),
+                  mock.call(self.backup_mgr.delete_backup, mock.ANY, backup2)]
+         mock_add_threadpool.assert_has_calls(calls, any_order=True)
+         self.assertEqual(2, mock_add_threadpool.call_count)
      @mock.patch.object(db, 'volume_get')
      @ddt.data(KeyError, exception.VolumeNotFound)
 -    def test_cleanup_temp_volumes_snapshots(self,
 -                                            err,
 -                                            mock_volume_get):
 +    def test_cleanup_temp_volumes_snapshots_volume_not_found(
 +            self, err, mock_volume_get):
          """Ensure we handle missing volume for a backup."""
          mock_volume_get.side_effect = [err]
  
Simple merge