From 8d54a1d44a58e1931a041e0ea944e85b8d42df73 Mon Sep 17 00:00:00 2001 From: lisali Date: Wed, 1 Jul 2015 14:32:28 +0800 Subject: [PATCH] Fix backup.rpcapi to pass object backup Transfer object backup instead of backup.id in rpcapi.import_record(). Change-Id: Ie535c48d3987971f0541cdb1594363a4decd4d1c Closes-Bug: #1470355 --- cinder/backup/manager.py | 2 +- cinder/tests/unit/test_backup.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/cinder/backup/manager.py b/cinder/backup/manager.py index 4c6d7e877..381905d6b 100644 --- a/cinder/backup/manager.py +++ b/cinder/backup/manager.py @@ -552,7 +552,7 @@ class BackupManager(manager.SchedulerDependentManager): first_host = backup_hosts.pop() self.backup_rpcapi.import_record(context, first_host, - backup.id, + backup, backup_service, backup_url, backup_hosts) diff --git a/cinder/tests/unit/test_backup.py b/cinder/tests/unit/test_backup.py index 63f5c0cf9..1d0da26fe 100644 --- a/cinder/tests/unit/test_backup.py +++ b/cinder/tests/unit/test_backup.py @@ -552,6 +552,7 @@ class BackupTestCase(BaseBackupTest): # Test that the import backup keeps calling other hosts to find a # suitable host for the backup service backup_hosts = ['fake1', 'fake2'] + backup_hosts_expect = list(backup_hosts) BackupAPI_import = 'cinder.backup.rpcapi.BackupAPI.import_record' with mock.patch(BackupAPI_import) as _mock_backup_import: self.backup_mgr.import_record(self.ctxt, @@ -559,7 +560,15 @@ class BackupTestCase(BaseBackupTest): export['backup_service'], export['backup_url'], backup_hosts) - self.assertTrue(_mock_backup_import.called) + + next_host = backup_hosts_expect.pop() + _mock_backup_import.assert_called_once_with( + self.ctxt, + next_host, + imported_record, + export['backup_service'], + export['backup_url'], + backup_hosts_expect) def test_import_record_with_invalid_backup(self): """Test error handling when attempting an import of a backup