diff --git a/cinder/db/sqlalchemy/api.py b/cinder/db/sqlalchemy/api.py index 1d78151892d..10c5b39fbf2 100644 --- a/cinder/db/sqlalchemy/api.py +++ b/cinder/db/sqlalchemy/api.py @@ -3664,7 +3664,9 @@ def volume_glance_metadata_delete_by_snapshot(context, snapshot_id): @require_context def backup_get(context, backup_id, read_deleted=None, project_only=True): - return _backup_get(context, backup_id) + return _backup_get(context, backup_id, + read_deleted=read_deleted, + project_only=project_only) def _backup_get(context, backup_id, session=None, read_deleted=None, diff --git a/cinder/tests/unit/test_db_api.py b/cinder/tests/unit/test_db_api.py index f96ced30fb7..87b658b623e 100644 --- a/cinder/tests/unit/test_db_api.py +++ b/cinder/tests/unit/test_db_api.py @@ -26,8 +26,10 @@ from cinder import context from cinder import db from cinder.db.sqlalchemy import api as sqlalchemy_api from cinder import exception +from cinder import objects from cinder import quota from cinder import test +from cinder.tests.unit import fake_constants THREE = 3 THREE_HUNDREDS = 300 @@ -2010,6 +2012,18 @@ class DBAPIBackupTestCase(BaseTest): backup_get = db.backup_get(self.ctxt, backup['id']) self._assertEqualObjects(backup, backup_get) + def test_backup_get_deleted(self): + backup_dic = {'user_id': 'user', + 'project_id': 'project', + 'volume_id': fake_constants.volume_id, + 'size': 1, + 'object_count': 1} + backup = objects.Backup(self.ctxt, **backup_dic) + backup.create() + backup.destroy() + backup_get = db.backup_get(self.ctxt, backup.id, read_deleted='yes') + self.assertEqual(backup.id, backup_get.id) + def tests_backup_get_all(self): all_backups = db.backup_get_all(self.ctxt) self._assertEqualListsOfObjects(self.created, all_backups)