Merge "Fix a regression in restoring to sparse volumes"

This commit is contained in:
Zuul 2023-07-15 07:14:55 +00:00 committed by Gerrit Code Review
commit 712032959c
3 changed files with 12 additions and 5 deletions

View File

@ -1254,7 +1254,7 @@ class CreateVolumeFlowManagerTestCase(test.TestCase):
fake_driver = mock.MagicMock() fake_driver = mock.MagicMock()
fake_volume_manager = mock.MagicMock() fake_volume_manager = mock.MagicMock()
backup_host = 'host@backend#pool' backup_host = 'host@backend#pool'
fake_manager = create_volume_manager.CreateVolumeFromSpecTask( test_manager = create_volume_manager.CreateVolumeFromSpecTask(
fake_volume_manager, fake_db, fake_driver) fake_volume_manager, fake_db, fake_driver)
volume_obj = fake_volume.fake_volume_obj(self.ctxt) volume_obj = fake_volume.fake_volume_obj(self.ctxt)
@ -1271,8 +1271,7 @@ class CreateVolumeFlowManagerTestCase(test.TestCase):
if driver_error: if driver_error:
fake_driver.create_volume_from_backup.side_effect = [ fake_driver.create_volume_from_backup.side_effect = [
NotImplementedError] NotImplementedError]
fake_manager._create_from_backup(self.ctxt, volume_obj, test_manager._create_from_backup(self.ctxt, volume_obj, backup_obj.id)
backup_obj.id)
fake_driver.create_volume_from_backup.assert_called_once_with( fake_driver.create_volume_from_backup.assert_called_once_with(
volume_obj, backup_obj) volume_obj, backup_obj)
if driver_error: if driver_error:
@ -1282,7 +1281,8 @@ class CreateVolumeFlowManagerTestCase(test.TestCase):
mock_restore_backup.assert_called_once_with(self.ctxt, mock_restore_backup.assert_called_once_with(self.ctxt,
backup_host, backup_host,
backup_obj, backup_obj,
volume_obj['id']) volume_obj['id'],
volume_is_new=True)
else: else:
fake_driver.create_volume_from_backup.assert_called_once_with( fake_driver.create_volume_from_backup.assert_called_once_with(
volume_obj, backup_obj) volume_obj, backup_obj)

View File

@ -1172,7 +1172,7 @@ class CreateVolumeFromSpecTask(flow_utils.CinderTask):
backuprpcapi = backup_rpcapi.BackupAPI() backuprpcapi = backup_rpcapi.BackupAPI()
backuprpcapi.restore_backup(context, backup.host, backup, backuprpcapi.restore_backup(context, backup.host, backup,
volume.id) volume.id, volume_is_new=True)
need_update_volume = False need_update_volume = False
LOG.info("Created volume %(volume_id)s from backup %(backup_id)s " LOG.info("Created volume %(volume_id)s from backup %(backup_id)s "

View File

@ -0,0 +1,7 @@
---
fixes:
- |
`Bug #2025277 <https://bugs.launchpad.net/cinder/+bug/2025277>`_:
Fixed a regression in the fix for Cinder backup restoring into
sparse volumes, where OpenStack's integrated CLI triggered a traceback.
The deprecated project-specific legacy CLI of Cinder continued to work.