Merge "Change the matching method of the backup driver" into stable/rocky

This commit is contained in:
Zuul 2018-11-26 22:14:18 +00:00 committed by Gerrit Code Review
commit 73baefac2f
2 changed files with 30 additions and 5 deletions

View File

@ -521,11 +521,13 @@ class BackupManager(manager.ThreadPoolManager):
if not backup:
return True
# TODO(tommylikehu): We upgraded the 'driver_name' from module
# to class name, so we use 'in' here to match two namings,
# this can be replaced with equal sign during next
# release (Rocky).
if self.driver_name.startswith(backup):
# TODO(tommylikehu): We upgraded the 'driver_name' from module to
# class name, so we use 'startswith' here to match two namings,
# this can be replaced with equal sign during next release (Rocky).
# The 'driver_name' varies depending on the user settings, so a
# two-way judgment is required.
if self.driver_name.startswith(backup) or backup.startswith(
self.driver_name):
return True
# We support renaming of drivers, so check old names as well

View File

@ -1778,6 +1778,29 @@ class BackupTestCase(BaseBackupTest):
self.assertEqual(100, tpool._nthreads)
self.assertListEqual([], tpool._threads)
def test_driver_name_startswith_backup_service_name(self):
service_name = 'cinder.tests.unit.backup.fake_service'
driver_name = 'cinder.tests.unit.backup.fake_service.FakeBackupService'
self.override_config('backup_driver', driver_name)
vol_id = self._create_volume_db_entry(status='available', size=1)
backup = self._create_backup_db_entry(status=fields.BackupStatus.ERROR,
volume_id=vol_id,
service=service_name)
result = self.backup_mgr._is_our_backup(backup)
self.assertTrue(result)
def test_backup_service_name_startswith_driver_name(self):
driver_name = 'cinder.tests.unit.backup.fake_service'
service_name = ('cinder.tests.unit.backup.fake_service.'
'FakeBackupService')
self.override_config('backup_driver', driver_name)
vol_id = self._create_volume_db_entry(status='available', size=1)
backup = self._create_backup_db_entry(status=fields.BackupStatus.ERROR,
volume_id=vol_id,
service=service_name)
result = self.backup_mgr._is_our_backup(backup)
self.assertTrue(result)
class BackupTestCaseWithVerify(BaseBackupTest):
"""Test Case for backups."""