Fix backup.rpcapi to pass object backup

Transfer object backup instead of backup.id in
rpcapi.import_record().

Change-Id: Ie535c48d3987971f0541cdb1594363a4decd4d1c
Closes-Bug: #1470355
This commit is contained in:
lisali 2015-07-01 14:32:28 +08:00
parent 0330f251ce
commit 8d54a1d44a
2 changed files with 11 additions and 2 deletions

View File

@ -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)

View File

@ -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